题解:P11137 [APC001] B - Checker

注意到每个字符串长度相同,所以我们可以按照题意逐个遍历小 K 的题目和所有题库里的题目,统计相同位置字符相同的个数,如果大于 \(\left\lceil\frac{k}{2} \right\rceil\),这两个题目就是重题。

代码:

#include<bits/stdc++.h>
using namespace std;
bool c(string a,string b){
    int k=ceil(a.length()/2.0);
    int l=a.length();
    int cnt=0;
    for(int i=0;i<l;i++) if(a[i]==b[i]) cnt++;
    return cnt>=k;
}
int main(){ 
    int n;
    int ans=0;
    string s;
    cin>>n>>s;
    while(n--){
        string x;
        cin>>x;
        ans+=c(s,x);
    }
    if(ans==0){
        cout<<"0\nGood job!\n";
    }else{
        cout<<ans<<endl<<"Make persistent efforts.";
    }
}
posted @ 2024-10-02 18:55  cly312  阅读(21)  评论(0)    收藏  举报