Source Code Problem: 1581 User: zhouxc Memory: 888K Time: 0MS Language: G++ Result: Accepted Source Code #include"iostream" using namespace std; typedef struct team{ string name; int test[4][2]; int score; int penaty; }; team t[10000]; int n; int compare(const void *p1,const void *p2) { struct team *c=(team*)p1; struct team *d=(team*)p2; if(c->score!=d->score) return d->score-c->score; else return c->penaty-d->penaty; } void Calculate(int s) { for(int i=0;i<4;i++) { if(t[s].test[i][1]>0) { t[s].score++; t[s].penaty+=t[s].test[i][1]+20*(t[s].test[i][0]-1); } } } int main() { cin>>n; for(int i=0;i<n;i++) { cin>>t[i].name; t[i].score=0;t[i].penaty=0; for(int j=0;j<4;j++) cin>>t[i].test[j][0]>>t[i].test[j][1]; if(i<n) Calculate(i); } qsort(t,n,sizeof(t[0]),compare); cout<<t[0].name<<" "<<t[0].score<<" "<<t[0].penaty<<endl; return 0; } 比较简单的题目,但是还要做,主要代码要条理清晰,最近开始注重代码能力,写出漂亮的代码,一定要坚持下去,加油!