列表

详情


NC213759. 考试

描述

你和你的朋友参加了一场考试,试卷由 n 道判断题构成

你的朋友通过 py 提前得知了他错了 k 道题,而你只能和你的朋友对答案

请问你最多能对几道题

输入描述

第一行,两个整数 n,k ,意义与题目描述中一致

第二行 n 个整数,表示你的答案

第三行 n 个整数,表示朋友的答案

输出描述

一行一个整数,表示最多能对几题

示例1

输入:

3 1
1 0 1
0 0 1

输出:

3

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

pypy3(pypy3.6.1) 解法, 执行用时: 38ms, 内存消耗: 18768K, 提交时间: 2020-11-14 19:39:29

n,k=map(int,input().split())
a=list(map(int,input().split()))
b=list(map(int,input().split()))
ans=0
for i in range(n):
    if a[i]!=b[i] and k>0:
        k-=1
        ans+=1
    elif a[i]==b[i]:
        ans+=1
print(ans-k)

C++(clang++ 11.0.1) 解法, 执行用时: 3ms, 内存消耗: 396K, 提交时间: 2023-06-06 20:32:45

#include<bits/stdc++.h>
using namespace std;
int a[1010],b[1010];
int main(){
    int n,k,i,c=0;
    cin>>n>>k;
    for(i=0;i<n;i++)cin>>a[i];
    for(i=0;i<n;i++)cin>>b[i],c+=a[i]!=b[i];
    
    cout<<n-abs(c-k);
}

Python3 解法, 执行用时: 44ms, 内存消耗: 4660K, 提交时间: 2022-03-04 15:48:15

n,k=map(int,input().split())
a=list(map(int,input().split()))
b=list(map(int,input().split()))
diff=len([i for i in range(n)if a[i]-b[i]])
print(n-abs(diff-k))

上一题