记录编号 |
336646 |
评测结果 |
AAAAAAAAAA |
题目名称 |
韩国明星 |
最终得分 |
100 |
用户昵称 |
NemoAre |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.994 s |
提交时间 |
2016-11-03 15:57:54 |
内存使用 |
0.28 MiB |
显示代码纯文本
#include<cstdio>
#include<string>
#include<vector>
#include<algorithm>
#include<map>
using namespace std;
typedef pair<string,int> PAIR;
struct cmp{
bool operator()(const PAIR &P1,const PAIR &P2){
return P1.second<P2.second;
}
};
map<string,int> stars;
int main(){
int n; char name[1000];
FILE *fp,*fp1;
fp = fopen("star.in","r");
fp1 = fopen("star.out","w+");
fscanf(fp,"%d",&n);
fgets(name,1000,fp);
for(int i=0;i<n;i++){
fgets(name,1000,fp);
if(name==""){
i--;
continue;
}
stars.insert(pair<string,int>(name,0));
}
int k,temp;
fscanf(fp,"%d",&k);
fgets(name,1000,fp);
for(int i=0;i<k;i++){
fgets(name,1000,fp);
fscanf(fp,"%d",&temp);
stars[name] += temp;
fgets(name,1000,fp);
}
vector<PAIR> t(stars.begin(),stars.end());
sort(t.begin(),t.end(),cmp());
for(int i=n-1;i>=0;i--){
const char *s = t[i].first.c_str();
fprintf(fp1,"%s%d\n",s,t[i].second);
}
return 0;
}