题目链接 : B Treasure Hunt
代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
typedef long long ll;
char str[maxn];
int value[5];
int main(){
int n;
scanf("%d",&n);
map<char,int>s;
for(int i=1;i<=3;i++){
scanf("%s",str);
int k=strlen(str);
for(int j=0;j<k;j++){
s[str[j]]++;
value[i]=max(s[str[j]],value[i]);
}
if(n==1&&value[i]==k)
value[i]=k-1;
else
value[i]=min(k,value[i]+n);
s.clear();
}
int cur=1;
for(int i=2;i<=3;i++){
if(value[cur]<value[i])
cur=i;
}
for(int i=1;i<=3;i++){
if(cur!=i&&value[cur]==value[i])
{
printf("Draw\n");
return 0;
}
}
if(cur==1)
printf("Kuro\n");
else if(cur==2)
printf("Shiro\n");
else
printf("Katie\n");
return 0;
}