链接:
https://www.nowcoder.com/acm/contest/70/A
来源:牛客网
来源:牛客网
题目描述
定义一个数字为幸运数字当且仅当它的所有数位都是4或者7。
比如说,47、744、4都是幸运数字而5、17、467都不是。
现在,给定一个字符串s,请求出一个字符串,使得:
1、它所代表的整数是一个幸运数字;
2、它非空;
3、它作为s的子串(不是子序列)出现了最多的次数(不能为0次)。
请求出这个串(如果有多解,请输出字典序最小的那一个)。
比如说,47、744、4都是幸运数字而5、17、467都不是。
现在,给定一个字符串s,请求出一个字符串,使得:
1、它所代表的整数是一个幸运数字;
2、它非空;
3、它作为s的子串(不是子序列)出现了最多的次数(不能为0次)。
请求出这个串(如果有多解,请输出字典序最小的那一个)。
输入描述:
串s(1 <= |s| <= 50)。s只包含数字字符,可以有前导零。
输出描述:
一个串表示答案。 无解输出-1。
题解:
若47出现的次数最多,则4出现的次数与47一定一样多,要求输出字典序最小,
因此输出4即可。因此只需比较4,7出现的次数即可
#include<bits/stdc++.h>
using namespace std;
int main()
{
char t[102];
scanf("%s",&t);
int L=strlen(t);
int a=0,b=0;
for(int i=0;i<L;i++)
{
if(t[i]=='4')a++;
if(t[i]=='7')b++;
}
if(a==0&&b==0)printf("-1\n");
else if(a>=b)printf("4\n");
else printf("7\n");
return 0;
}