Hdu1004LettheBalloonRise
好几天没来写这道传说中的水题,哈哈,虽然一看就会,不过总在弄些其他东西。
//思路很简单,每读取一个颜色值就判断是否已经存在,存在则数量++ //否则新增颜色 #include <iostream> #include <string> //#include <fstream> using namespace std; struct ballon { //用结构记录球的颜色以及数量 string name; int num; }; int main() { // ifstream fin("t.txt");//用于测试 ballon a[1000];//存放颜色 // ballon a[20]=new ballon[20]; int times; cin>>times; // fin>>times; int count=0;//记录不同颜色的球有多少种 while(times--) { string temp; cin>>temp; //fin>>temp; bool flag=false;//记录颜色是否存在 for(int i=0;i<count;i++)//测试该颜色是否已经存在 { if(a[i].name==temp) { a[i].num++; flag=true; } } if(!flag)//新增颜色 { //a[count]=new ballon; a[count].name=temp; a[count].num=0; count++; } if(times==0)//最后一个的时候 { int max=-1; int pos=0; for(int j=0;j<count;j++) { if(max<a[j].num) { max=a[j].num; pos=j; } } cout<<a[pos].name<<endl; //fin>>times;//开始下一次 cin>>times; //if(times!=0) //cout<<endl; count=0; //重置count; } } }