codeforces637c密码

英语不好,水题也成精。这么回事,题意,就是预先设定了一个密码(6位)然后你输入了一个密码,要求,如果和预设的差错位数不超过k,则认为和预设密码一样,让你求k-1是多少。。。
题解是不是一脸懵逼。。。。然后我才知道,就是暴力,找最相近的两个密码,不同的位数更新为temp/2而已。(这个自己好好想一想就能想出来,我是推了几个例子)就是这么简单。。。好尴尬

#include
#include
#include
#include
using namespace std;
char str[1010][7];

int main()
{
    int i , temp = 0 , ans = 6 , n;
    scanf("%d",&n);
    for(int i = 0 ; i < n ; i++)
        scanf("%s",str[i]);
    for(int i = 0 ; i < n ; i++){
        for(int j = i + 1 ; j < n ; j++){
            temp = 0;
            for(int k = 0 ; k < 6 ; k++){
                if(str[i][k] != str[j][k])
                temp++;
            }
        if(ans > ((temp-1)/2)) ans = (temp-1)/2;
        }
    }
    printf("%d\n",ans);
    return 0;
}

版切第3题
人一我百,人十我万,穷尽一生,只为最强

你可能感兴趣的:(贪心)