链接:http://poj.org/problem?id=2418
前面三段认真看看,可以学习到很多树种的英文名称【正经脸 (/▽\=)】
题意:给你一堆字符串,求出每种字符串占总体的百分比
首先想到的是Trie树【啊......写Trie树好烦啊】然后想到STL的map,string类的key和int(double)类的value
时间为10s,确实很长
因为使用cincout,正常情况8s以上
加 ios::sync_with_stdio(false) 后减少到2000ms
代码:
#include <iostream>
#include <map>
#include <iterator>
#include <iomanip>
using namespace std;
int main() {
//ios::sync_with_stdio(false);
int sum=0;
map <string,double> m;
string str;
while(getline(cin,str)) {
m[str]++;
sum++;
}
map <string,double> ::iterator it=m.begin();
while(it!=m.end()) {
cout<<setiosflags(ios::fixed)<<setprecision(4)<<it->first<<" "<<it->second/sum*100<<"\n";
it++;
}
return 0;
}