一道水题,但因为好久没有碰过竞赛题目,所以憋了挺久的。
当然,主要问题是,代码熟练度下降了不少,所以写的时候思路会莫名奇妙卡住。
改了半天算是A了,本身题目没啥难点,就是比较输入的字符数组里面最多的那一个,当然,有个陷阱是,在有相同数量的气球的时候,需要根据输入的顺序输出一个,也就是说,结果只有一个,就是第一个遇到的最大数量的气球。(没注意这个条件,导致WA了,注意审题)。
思路就是找个找一个“指针”flag,每次都指向新的气球,如果输入的气球是重复的,flag就退后一步,间接的把重复输入的字符串减掉了,当然,对应重复的字符串的数组大小+1,根据每个字符串对应的数组大小判断重复多少次,最后输出第一个最大的气球就可以了。
AC代码如下:
#include<iostream>
#include<cstring>
#include<algorithm>
#include<string>
using namespace std;
int main(){
char a[1005][20];
char g[1005][