misschuer

常用链接

统计

积分与排名

百事通

最新评论

hdu 1084 What Is Your Grade?

#include <iostream>
#include 
<string>
#define MAXN 101
#include 
<algorithm>
using namespace std;

typedef 
struct {

    
int cnt;
    
int seq;
    
string ti;
}Time;

bool GY(Time a, Time b) {

    
if(a.cnt == b.cnt) {
    
        
return a.ti < b.ti;
    }
    
return a.cnt > b.cnt;
}

Time t[MAXN];
int  s[MAXN], n;
int ma[ 6 ][ 2 ] = {{5050}, {6560}, {7570}, {8580}, {9590}, {100100}};
int vist[ 6 ];

void res() {

    sort(t 
+ 1, t + n + 1, GY);

    
for(int j = 1; j <= 4++ j) {
    
        vist[ j ] 
= vist[ j ] / 2;
    }

    
for(int i = 1; i <= n; ++ i) {
    
        
if(vist[t[ i ].cnt]) {
        
            vist[t[ i ].cnt] 
--;
            s[t[ i ].seq] 
= ma[t[ i ].cnt][ 0 ];
        }
        
else {
        
            s[t[ i ].seq] 
= ma[t[ i ].cnt][ 1 ];
        }
    }

    
for(int k = 1; k <= n; ++ k) {
    
        cout 
<< s[ k ] << endl;
    }

    cout 
<< endl;
}

int main() {

    
while(cin >> n && n >= 0)  {
    
        memset(vist, 
0sizeof(vist));
        
for(int i = 1; i <= n; ++ i) {
        
            cin 
>> t[ i ].cnt >> t[ i ].ti;
            t[ i ].seq 
= i;
            vist[t[ i ].cnt] 
++;
        }

        res();
    }
    
return 0;
}

posted on 2011-03-13 21:46 此最相思 阅读(407) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理