直接模拟即可。
Run Time: 0sec
Run Memory: 288KB
Code length: 898Bytes
SubmitTime: 2011-01-21 00:38:40
// Problem#: 1147
// Submission#: 591053
// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/
// All Copyright reserved by Informatic Lab of Sun Yat-sen University
#include <stdio.h>
#include <string.h>
int main()
{
int N, grade1, grade2, num;
char ch1, ch2, name[ 21 ];
int n, max, sum, add;
char winner[ 21 ];
max = 0;
add = 0;
scanf( "%d", &N );
for ( n = 1; n <= N; n++ ) {
scanf( "%s %d %d %c %c %d", name, &grade1, &grade2, &ch1, &ch2, &num );
sum = 0;
if ( grade1 > 80 && num >= 1 )
sum += 8000;
if ( grade1 > 85 && grade2 > 80 )
sum += 4000;
if ( grade1 > 90 )
sum += 2000;
if ( grade1 > 85 && ch2 == 'Y' )
sum += 1000;
if ( grade2 > 80 && ch1 == 'Y' )
sum += 850;
add += sum;
if ( sum > max ) {
max = sum;
strcpy( winner, name );
}
}
printf( "%s\n%d\n%d\n", winner, max, add );
return 0;
}