ZOJ 2104
2010-05-12 11:10
218 查看
//2104 颜色数目最多的气球的颜色
//算法:先将给出的气球颜色输入进数组col[],然后逐个拿出数组col[]中第i个气球与剩下的n-i个比较,
// 总共比较n(n-1)/2次,比较过程中把重复的比较减去,实际比较远少于n(n-1)/2。
#include<iostream>
using namespace std;
struct Color
{
char str[20]; //记录气球颜色
bool flag; //减少重复计算
}col[1000];
int main()
{
int maxpos,curpos;
int curnum,maxnum;
int num;
int i;
for(i=0;i<1000;i++)
col[i].flag=0;
while(cin>>num && num!=0)
{
int count=num;
//循环输入气球颜色
while(count--)
{
cin>>col[num-count-1].str;
}
curpos=maxpos=0;
maxnum=0;
while(curpos<num)
{
int j=curpos+1;
curnum=0;
col[curpos].flag=1;
//对于第curpos个气球,让其与其余num-curpos个比较
while(j<num && col[j].flag==0)
{
if(!strcmp(col[curpos].str , col[j].str))
{
curnum++;
col[j].flag=1;
}
j++;
}
//比较并记录最大的颜色数
if(curnum>maxnum)
{
maxnum=curnum;
maxpos=curpos;
}
curpos++;
//跳过重复的curpos
while(col[curpos].flag==1)
curpos++;
}
cout<<col[maxpos].str<<endl;
}
return 0;
}
//算法:先将给出的气球颜色输入进数组col[],然后逐个拿出数组col[]中第i个气球与剩下的n-i个比较,
// 总共比较n(n-1)/2次,比较过程中把重复的比较减去,实际比较远少于n(n-1)/2。
#include<iostream>
using namespace std;
struct Color
{
char str[20]; //记录气球颜色
bool flag; //减少重复计算
}col[1000];
int main()
{
int maxpos,curpos;
int curnum,maxnum;
int num;
int i;
for(i=0;i<1000;i++)
col[i].flag=0;
while(cin>>num && num!=0)
{
int count=num;
//循环输入气球颜色
while(count--)
{
cin>>col[num-count-1].str;
}
curpos=maxpos=0;
maxnum=0;
while(curpos<num)
{
int j=curpos+1;
curnum=0;
col[curpos].flag=1;
//对于第curpos个气球,让其与其余num-curpos个比较
while(j<num && col[j].flag==0)
{
if(!strcmp(col[curpos].str , col[j].str))
{
curnum++;
col[j].flag=1;
}
j++;
}
//比较并记录最大的颜色数
if(curnum>maxnum)
{
maxnum=curnum;
maxpos=curpos;
}
curpos++;
//跳过重复的curpos
while(col[curpos].flag==1)
curpos++;
}
cout<<col[maxpos].str<<endl;
}
return 0;
}
相关文章推荐
- ZOJ 2104 Let the Balloon Rise
- zoj 2104 Let the Balloon Rise
- ZOj 2104——Let the Balloon Rise
- zoj 2104 Let the Balloon Rise
- ZOJ_2104_Let the Balloon Rise
- zoj 2104 Let the Balloon Rise(map映照容器的应用)
- ZOJ 2104 Let the Ballon Rise(map解法)
- zoj 2104 Let the Balloon Rise
- ZOJ-2104
- zoj 2104 出现次数最多的字符串 两种姿势
- HDU1004 ZOJ2104 Let the Balloon Rise【MAP+水题】
- ZOJ2104 Let the Balloon Rise
- ZOJ2104——Let the Balloon Rise
- ZOJ 2104 Let the Balloon Rise
- zoj 2104.Let the Balloon Rise
- ZOJ 2104/HDU 1004 Let the Balloon Rise(map容器)
- ZOJ 2104解题报告
- zoj2104
- ZOJ Problem Set–2104 Let the Balloon Rise
- ZOJ_2104_Let the Balloon Rise