题目大意:中文题。读者可直接去OJ上看。
解题思路:水题。直接做就行
代码如下:
/*
* 2093_2.cpp
*
* Created on: 2013年8月10日
* Author: Administrator
*/
#include <iostream>
#include <algorithm>
using namespace std;
struct Node{
char name[10];
int num;
int useTime;
};
bool compare( const Node& a , const Node& b){
if(a.num != b.num){
return a.num > b.num;
}else{
if(a.useTime != b.useTime){
return a.useTime < b.useTime;
}else{
return a.name > b.name;
}
}
}
int main(){
int n,m;
scanf("%d%d",&n,&m);
Node ps[1000];
int i = 0 ;
while(scanf("%s",ps[i].name)!=EOF ){
ps[i].num = 0;
ps[i].useTime = 0;
int j ;
for( j = 0 ; j < n ; ++j){
int a;
cin >>a;
if(a>0){
ps[i].num++;
ps[i].useTime += a;
if(getchar() == '('){
cin >> a;
ps[i].useTime += a*m;
getchar();
}
}
}
++i;
}
sort(ps,ps+i,compare);
int k;
for(k = 0 ; k < i ; ++k){
printf("%-10s %2d %4d\n",ps[k].name,ps[k].num,ps[k].useTime);
}
return 0;
}