poj 2418 Hardwood Species (map)

时间:2023-03-10 06:46:18
poj 2418 Hardwood Species  (map)

题目:http://poj.org/problem?id=2418

在poj 上交题总是有各种错误,再次感叹各个编译器。

c++ AC代码,G++为超时,上代码:

 #include<cstdio>
#include<string>
#include<map>
using namespace std; char s[];
int main()
{
map<string,int>mp;
map<string,int>::iterator iter;//声明迭代器
int sum=;
while(gets(s)!=NULL)
{
mp[s]++;
sum++;
}
iter=mp.begin(); //相当于指针
while(iter!=mp.end())
{
printf("%s %.4f\n",iter->first.c_str(),100.0*iter->second/sum); //.c_str() 是把字符串转换成能c能输出的
iter++;
}
return ;
}

这个代码是我第一次写的,不知道为什么 刚开始用了很多头文件,G++ wrong,  c++ 编译错误

现在是 改了头文件后的 AC代码

 #include<cstdio>
#include<string>
#include<iostream>
#include<map>
using namespace std; char s[];
int main()
{
map<string,int>mp;
map<string,int>::iterator iter;
int i,sum=;
while(gets(s)!=NULL)
{
mp[s]++;
sum++;
}
iter=mp.begin();
while(iter!=mp.end())
{
cout<<iter->first;
printf(" %.4lf\n",*1.0*iter->second/sum);
iter++;
}
return ;
}

吸取教训,以后 交c++,少用头文件