首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

杭电1004题,自己测试结果都OK,为什么总是WA呢?求指出异常之处

2012-03-23 
杭电1004题,自己测试结果都OK,为什么总是WA呢?求指出错误之处。C/C++ code#include iostream#include st

杭电1004题,自己测试结果都OK,为什么总是WA呢?求指出错误之处。

C/C++ code
#include <iostream>#include <string>using namespace std;void main(){    int n,i,j,max=0;    cin>>n;    while(n!=0)    {        string str[1000], color;        for(i=0;i<1000;i++) str[i]="";        int num[1000]={0};        for( i=1;i<=n;i++)        {            cin>>color;            for( j=1;j<i;j++)            {                if(str[j]==color)                {                    num[j]++;                        break;                }            }            if(j==i)             {                str[i]=color;                num[i]++;            }        }        for(i=1;i<=n ;i++)        {            if(num[i]>num[max])            {                max=i;            }        }        cout<<str[max]<<endl;        max=0;        cin>>n;    }}


数据都有初始化吧……太纠结了

[解决办法]
我AC的代码!
C/C++ code
#include <iostream>#include <string>#include <map>using std::string;using std::map;using std::cout;using std::cin;using std::endl;int main(){    int nCount,i,nMax;    string strColor;    map<string,int> ColorSet;    cin>>nCount;    map<string,int>::iterator iterRes;    while(nCount != 0)    {        i = 0;        ColorSet.erase(ColorSet.begin(),ColorSet.end());        while(i<nCount)        {            ++i;            cin>>strColor;            ++ColorSet[strColor];        }        iterRes = ColorSet.begin();        nMax = iterRes->second;        for (map<string,int>::iterator iter = ColorSet.begin();iter != ColorSet.end();iter++)            if (iter->second>nMax)            {                iterRes = iter;                nMax = iter->second;            }        cout<<iterRes->first<<endl;        cin>>nCount;    }    return 0;} 

热点排行