PAT乙级1032
马上读研了,拿pat复习一下吸语言。
题目
为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
输入格式:
输入在第 1 行给出不超过 105 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:
6
3 65
2 80
1 100
2 70
3 40
3 0
输出样例:
2 150
错误
测试点2答案错误
#include<stdio.h>
#include<string.h>
#include<vector>
#include<algorithm>
/*
1
1 88
*/
using namespace std;
//statement code
struct school{
int id;
long score;
}all_school[100010];
int N,i;
//function section
int robustness_check1(){//robustness function1
return 0;
}
bool cmp(struct school s1 ,struct school s2 ){
return s1.score > s2.score;
}
void init_all_school(){
for(i = 0 ; i < 100010 ; i++){
all_school[i].score == -1;
}
}
void add_player(int a,int b){
if(all_school[a].score == -1){
all_school[a].score = 0;
}
if(b > 100)
return;
all_school[a].score += b;
all_school[a].id = a;
}
void print_result(){
sort(all_school,all_school+100010,cmp);
printf("%d %ld", all_school[0].id, all_school[0].score);
}
int main(){
init_all_school();
//input code
scanf("%d",&N);
for(i = 0 ; i < N ; i++){
int a,b;
scanf("%d %d",&a,&b);
add_player(a,b);
}
//robustness code
//function code
print_result();
return 0;
}
代码
雀氏像个小丑啊!= 写成==
void init_all_school(){
for(i = 0 ; i < 100010 ; i++){
all_school[i].score == -1;
}
}
#include<stdio.h>
#include<string.h>
#include<vector>
#include<algorithm>
/*
1
1 0
*/
using namespace std;
//statement code
struct school{
int id;
long score;
}all_school[100010];
int N,i;
//function section
int robustness_check1(){//robustness function1
return 0;
}
bool cmp(struct school s1 ,struct school s2 ){
return s1.score > s2.score;
}
void init_all_school(){
for(i = 0 ; i < 100010 ; i++){
all_school[i].score = -1;
}
}
void add_player(int a,int b){
if(all_school[a].score == -1){
all_school[a].score = 0;
}
if(b > 100)
return;
all_school[a].score += b;
all_school[a].id = a;
}
void print_result(){
sort(all_school,all_school+100010,cmp);
printf("%d %ld", all_school[0].id, all_school[0].score);
}
int main(){
init_all_school();
//input code
scanf("%d",&N);
for(i = 0 ; i < N ; i++){
int a,b;
scanf("%d %d",&a,&b);
add_player(a,b);
}
//robustness code
//function code
print_result();
return 0;
}
总结
- 基本白给,仔细审题。