CF979B Treasure Hunt(贪心 思维)

简介: CF979B Treasure Hunt(贪心 思维)

linkkkk

题意:

20200401134307494.png

思路:

贪心的考虑,尽可能的将字符串变成出现最多的字母是最优的。

对于每一个字符串记录一下长度和出现最多的字母个数,最大美丽值就是m i n ( 长 度 , 出 现 最 多 字 母 个 数 + 操 作 次 数 )

如果仅仅出现了一种字母,仅操作一次的话,最大值就是长度− 1

代码:

#include<bits/stdc++.h>
using namespace std;
string s[4];
int n;
struct node{
  int len,id;
}a[4];
bool cmp(node a,node b){
  return a.len>b.len;
}
int cul(string s){
  int cnt=0,len=s.size();
  map<int,int>mp;
  for(int i=0;s[i];i++){
    mp[s[i]]++;
    cnt=max(cnt,mp[s[i]]);
  }
  if(mp.size()==1&&n==1) return len-1;
  return min(len,cnt+n);
}
string name[]={"","Kuro","Shiro","Katie"};
int main(){
  cin>>n;
  for(int i=1;i<=3;i++){
    cin>>s[i];
    a[i].len=cul(s[i]);
    a[i].id=i;
  }
  sort(a+1,a+1+3,cmp);
  if(a[1].len!=a[2].len) cout<<name[a[1].id]<<endl;
  else cout<<"Draw";
  return 0;
}
目录
打赏
0
0
0
0
108
分享
相关文章
|
11月前
|
并查集,真好用,一次AC不是梦
并查集,真好用,一次AC不是梦
|
9月前
|
CF 1561 D. Up the Strip(数学+思维)
【7月更文挑战第5天】
70 10
|
10月前
CF 1538 G. Gift Set (贪心+思维)
【6月更文挑战第14天】
62 0
|
11月前
蓝桥备战--纪念品分组OJ532,贪心证明
蓝桥备战--纪念品分组OJ532,贪心证明
44 0
CF1438B Valerii Against Everyone(考察数学分析问题)
CF1438B Valerii Against Everyone(考察数学分析问题)
117 0
P1208 [USACO1.3]混合牛奶 Mixing Milk(贪心思想加一点特别的循环)
P1208 [USACO1.3]混合牛奶 Mixing Milk(贪心思想加一点特别的循环)
134 0
Codeforces1153——D. Serval and Rooted Tree(思维好题+dfs+贪心)
Codeforces1153——D. Serval and Rooted Tree(思维好题+dfs+贪心)
151 0
Codeforces1153——D. Serval and Rooted Tree(思维好题+dfs+贪心)
CF1605D. Treelabeling(二分图 博弈)
CF1605D. Treelabeling(二分图 博弈)
106 0
upc-2021个人训练赛第27场 D: Values(思维+并查集)
upc-2021个人训练赛第27场 D: Values(思维+并查集)
98 0