Gym - 101982A 2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) A. Exam
题面
题意:你和朋友一起做了n道判断题,现在你知道你们两的答案,也知道你朋友对了k个,问你至少对了几个
题解:假设你和朋友n个答案都一样,那你是不是也对了k个,假设你和朋友有1个答案不一样,是不是,你至少对了k-1个,
如果你和朋友有x(x<=k)个不一样,最坏就是他刚好这x个都是对的,所以你只能对k-x个了
如果你和朋友有x(x>n-k)个不一样,最坏就是n-x个一样的都是错的,剩下k-(n-x)个才是对的
综合来看,如果你们有x个一样的,你就至少有n-abs(k-x)个是对的
1 #include<bits/stdc++.h> 2 using namespace std; 3 int k,len,tot; 4 char s[1005],t[1005]; 5 int main() 6 { 7 scanf("%d",&k); 8 scanf("%s%s",s,t); 9 len=strlen(s); 10 for (int i=0;i<len;i++) 11 if (s[i]==t[i]) tot++; 12 printf("%d\n",len-abs(k-tot)); 13 }
Anderyi!