变态的模拟啊,刚开始没理解好题意,WA了无数遍,看了讲解才明白的
#include<cstdio>
#include<map>
#include<cstring>
#include<cmath>
#include<vector>
#include<algorithm>
#include<iostream>
#include<set>
#include<string>
#include<queue>
#define MAX 1005
using namespace std;
map<string ,int>ma,mb;
int n,m,x,i,score[MAX];
char c[MAX][40];
int main(){
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s %d",c[i],&x);
ma[ c[i] ]+=x;
score[i]=x;
}
m=0;
for(i=0;i<n;i++){
if(ma[ c[i] ]>m) m=ma[ c[i] ];
}
for(i=0;i<n;i++){
mb[c[i]]+=score[i];
if(mb[c[i]]>=m&&ma[c[i]]==m)break;
}
puts(c[i]);
return 0;
}
本文深入探讨了一次在编程过程中遇到的挑战性问题,从最初的误解导致的WA(Wrong Answer)到最终通过仔细阅读解释和调整思路成功解决问题的过程。文章详细介绍了使用C++实现解决方案的步骤,包括使用了`map`和`vector`等数据结构,并通过实例演示了如何优化代码以避免错误。此外,还分享了在面对复杂问题时的思考方法和调试技巧。
191

被折叠的 条评论
为什么被折叠?



