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;
}
目录
相关文章
ACM刷题之路(二十一)大素数筛选 2019暑期集训 POJ 2689 Prime Distance
ACM刷题之路(二十一)大素数筛选 2019暑期集训 POJ 2689 Prime Distance
初学算法之---pta吉老师回归(简单题)
初学算法之---pta吉老师回归(简单题)
|
数据可视化
离散数学_九章:关系(6)(二)
离散数学_九章:关系(6)(二)
276 0
|
机器学习/深度学习 移动开发
离散数学_九章:关系(4)(二)
离散数学_九章:关系(4)(二)
123 0
|
人工智能
离散数学_九章:关系(3)(一)
离散数学_九章:关系(3)(一)
95 0
离散数学_九章:关系(3)(二)
离散数学_九章:关系(3)(二)
70 0
|
Python
离散数学_九章:关系(6)(一)
离散数学_九章:关系(6)(一)
92 0
(思维)(必要做题步骤)(皮卡丘与 Codeforces )D - 先来签个到
(思维)(必要做题步骤)(皮卡丘与 Codeforces )D - 先来签个到
92 0
|
算法 C语言 索引
算法为何重要(《数据结构与算法图解》by 杰伊•温格罗)(下)
算法为何重要(《数据结构与算法图解》by 杰伊•温格罗)
88 0
蓝桥杯2019年第十届JavaB组真题题目+解析+代码+答案:4.数的分解
蓝桥杯2019年第十届JavaB组真题题目+解析+代码+答案:4.数的分解
138 0
蓝桥杯2019年第十届JavaB组真题题目+解析+代码+答案:4.数的分解