508 条题解
-
0noi3232525 LV 7 @ 2016-07-23 13:42:58
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main(){
int n;cin>>n;int maxx = 0;string maxname;int tosum = 0;
string name;int qimo;int banji;char ganbu;char xibu;int lunwen;
for(int i=1;i<=n;i++){
int sum = 0;
cin>>name>>qimo>>banji>>ganbu>>xibu>>lunwen;
if (qimo > 80 && lunwen >= 1){
sum=sum+8000;
}
if (qimo > 85 && banji > 80){
sum=sum+4000;
}
if (qimo > 90){
sum=sum+2000;
}
if (qimo > 85 && xibu =='Y'){
sum=sum+1000;
}
if (banji > 80 && ganbu == 'Y'){
sum=sum+850;
}
if (sum>maxx){
maxx = sum;
maxname = name;
}
tosum=tosum + sum ;}
cout<<maxname<<endl;
cout<<maxx<<endl;
cout<<tosum<<endl;
return 0;} -
02016-07-22 16:02:36@
fssdgf
-
02016-07-22 16:02:12@
其实很简单,记录类型就ac,就是读入有点麻烦
```pascalprogram fds;
type jilu=record
names:array[1..100] of char;
kaofen:longint;
banfen:longint;
bangb:char;
xibu:char;
runwen:longint;
zong:longint;
xu:longint;
chang:longint;
end;
var a:array[1..101] of jilu;
i,j,k,l,v,s,t,o,n,g:longint;
beginreadln(n);
for i:=1 to n do
begin
g:=0;
repeat
g:=g+1;
read(a[i].names[g]);
until a[i].names[g]=' ';
a[i].chang:=g-1;readln(a[i].kaofen,a[i].banfen,a[i].bangb,a[i].bangb,a[i].xibu,a[i].xibu,a[i].runwen);
if (a[i].kaofen>80) and (a[i].runwen>=1) then a[i].zong:=8000+a[i].zong;
if (a[i].kaofen>85) and (a[i].banfen>80) then a[i].zong:=4000+a[i].zong;
if (a[i].kaofen>90) then a[i].zong:=2000+a[i].zong;
if (a[i].kaofen>85) and (a[i].xibu='Y')then a[i].zong:=1000+a[i].zong;
if (a[i].banfen>80) and (a[i].bangb='Y') then a[i].zong:=850+a[i].zong;
a[i].xu:=i;
end;
v:=0;
s:=0;
o:=0;
for i:=1 to n do begin
o:=o+a[i].zong;
if a[i].zong>s then begin v:=a[i].xu; s:=a[i].zong; end;end;
for i:=1 to a[v].chang do write(a[v].names[i]);writeln;
writeln(a[v].zong);
writeln(o);
end.``` -
02016-07-16 21:07:14@
最简单的选择分支,一个个写就行了
#include<iostream> using namespace std; int main() { string a,g; int b,c,f,n,money=0,result=0,sum=0; char d,e; cin>>n; for(int i=1;i<=n;i++) { cin>>a>>b>>c>>d>>e>>f; money=0; if(b>80&&f>=1) money+=8000;//院士奖学金 if(b>85&&c>80) money+=4000;//五四奖学金 if(b>90) money+=2000;//成绩优秀奖 if(b>85&&e=='Y') money+=1000;//西部奖学金 if(c>80&&d=='Y') money+=850;//班级贡献奖 sum+=money;//奖金总和 if(result<money) { result=money; g=a;//记录名字 } } cout<<g<<endl<<result<<endl<<sum<<endl; return 0; }```
-
02016-07-16 21:05:48@
最简单的选择分支,一个个写就行了
-
02016-07-04 16:25:42@
测试数据 #0: Accepted, time = 0 ms, mem = 484 KiB, score = 10
测试数据 #1: Accepted, time = 0 ms, mem = 484 KiB, score = 10
测试数据 #2: Accepted, time = 0 ms, mem = 488 KiB, score = 10
测试数据 #3: Accepted, time = 0 ms, mem = 484 KiB, score = 10
测试数据 #4: Accepted, time = 0 ms, mem = 488 KiB, score = 10
测试数据 #5: Accepted, time = 0 ms, mem = 488 KiB, score = 10
测试数据 #6: Accepted, time = 0 ms, mem = 488 KiB, score = 10
测试数据 #7: Accepted, time = 0 ms, mem = 484 KiB, score = 10
测试数据 #8: Accepted, time = 0 ms, mem = 484 KiB, score = 10
测试数据 #9: Accepted, time = 0 ms, mem = 492 KiB, score = 10
Accepted, time = 0 ms, mem = 492 KiB, score = 100C:
#include <stdio.h>
int main() {
struct stu{
char name[20];
int num1;
int num2;
char ch1;
char ch2;
int num3;
int sum;
} str[101];
int n, i;
scanf("%d", &n);
for(i=0; i<n; i++) {
scanf("\n");
scanf("%s", &str[i].name);
scanf("%d", &str[i].num1);
scanf("%d", &str[i].num2);
scanf(" ");
scanf("%c", &str[i].ch1);
scanf(" ");
scanf("%c", &str[i].ch2);
scanf("%d", &str[i].num3);
}
for(i=0; i<n; i++) {
str[i].sum = 0;
if(str[i].num1>80 && str[i].num3>=1) str[i].sum+=8000;
if(str[i].num1>85 && str[i].num2>80) str[i].sum+=4000;
if(str[i].num1>90) str[i].sum+=2000;
if(str[i].num1>85 && str[i].ch2=='Y') str[i].sum+=1000;
if(str[i].num2>80 && str[i].ch1=='Y') str[i].sum+= 850;
}
long max=0, sum1=0;
for(i=0; i<n; i++) {
if(str[i].sum > str[max].sum) max = i;
sum1 += str[i].sum;
}
printf("%s\n%ld\n%ld", str[max].name, str[max].sum, sum1);
return 0;
} -
02016-06-21 13:01:36@
#include<stdio.h>
#include<string.h>
struct student
{
char name[100];
int ascore;
int cscore;
char cadre;
char west;
int paper;
int money;
}stu[100];
int main()
{
int n;
int s=0;
//int m=0;
int t1;
char t2[100],tmp[128];
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%s %d %d %c %c %d",stu[i].name,&stu[i].ascore,&stu[i].cscore,&stu[i].cadre,&stu[i].west,&stu[i].paper);
for(int j=0;j<n;j++)
{
if(stu[j].ascore>80&&stu[j].paper>=1)
stu[j].money+=8000;
if(stu[j].ascore>85&&stu[j].cscore>80)
stu[j].money+=4000;
if(stu[j].ascore>90)
stu[j].money+=2000;
if(stu[j].ascore>85&&stu[j].west=='Y')
stu[j].money+=1000;
if(stu[j].cscore>80&&stu[j].cadre=='Y')
stu[j].money+=850;
}
for(int j=0;j<n;j++)
{
for(int k=0;k<n;k++)
{
if(stu[k].money<stu[k+1].money)
{
t1=stu[k].money;
stu[k].money=stu[k+1].money;
stu[k+1].money=t1;
strcpy(tmp,stu[k].name);
strcpy(stu[k].name,stu[k+1].name);
strcpy(stu[k+1].name,tmp);
}
}
}
for(int l=0;l<n;l++)
{
s+=stu[l].money;
}
printf("%s\n%d\n%d",stu[0].name,stu[0].money,s);
return 0;
} -
02016-05-29 10:45:05@
#include<stdio.h> #include<string.h> int sum=0,sum1=0,sum2=0; void check(int ,int ,char ,char ,int); void D(char *,char *); int main() { freopen("1.in","r",stdin); int n=0; scanf("%d",&n); char name[30]={'\0'},name1[30]={'\0'},z='\0',z1='\n',w; int endg=0,endp=0,lw=0; for(int i=0;i<n;i++) { scanf("%s",name1); scanf("%d",&endg); scanf("%d",&endp); scanf("%c%c",&w,&z); scanf("%c%c",&w,&z1); scanf("%d",&lw); check(endg,endp,z,z1,lw); if(sum2>sum) { sum=sum2; D(name,name1); } sum2=0; endg=0; endp=0; lw=0; } printf("%s\n%d\n%d\n",name,sum,sum1); } void check(int a,int b,char a1,char b1,int c) { if(a>80&&c>0) { sum1+=8000; sum2+=8000; } if(a>85&&b>80) { sum1+=4000; sum2+=4000; } if(a>90) { sum1+=2000; sum2+=2000; } if(a>85&&b1=='Y') { sum1+=1000; sum2+=1000; } if(b>80&&a1=='Y') { sum1+=850; sum2+=850; } } void D(char *a,char *b) { for(int i=0;i<30;i++) a[i]=b[i]; }
哪里错了?请大神指教
-
02016-05-21 19:49:55@
var
i,j,max,n,t,sum:longint;
nam:array[0..101] of string;
ch1,ch2:array[0..101] of string;
c1,c2,mon,l:array[0..101] of longint;
k,s:string;
begin
readln(n);
max:=-1;
for i:=1 to n do
begin
readln(s);
s:=s+' ';
t:=pos(' ',s);
nam[i]:=copy(s,1,t-1); //youbian zifuchuan
delete(s,1,t);sum:=0;
t:=pos(' ',s);
k:=copy(s,1,t-1);
delete(s,1,t);
for j:=1 to length(k) do
sum:=sum*10+ord(k[j])-48;
c1[i]:=sum;sum:=0;
t:=pos(' ',s);
k:=copy(s,1,t-1);
delete(s,1,t);
for j:=1 to length(k) do
sum:=sum*10+ord(k[j])-48;
c2[i]:=sum;t:=pos(' ',s);
ch1[i]:=copy(s,1,t-1);
delete(s,1,t);t:=pos(' ',s);
ch2[i]:=copy(s,1,t-1);
delete(s,1,t);sum:=0;
t:=pos(' ',s);
k:=copy(s,1,t-1);
delete(s,1,t);
for j:=1 to length(k) do
sum:=sum*10+ord(k[j])-48;
l[i]:=sum;
end;
sum:=0;
for i:=1 to n do
begin
if (c1[i]>80) and (l[i]>=1)
then
mon[i]:=mon[i]+8000;
if (c1[i]>85) and (c2[i]>80)
then
mon[i]:=mon[i]+4000;
if c1[i]>90
then
mon[i]:=mon[i]+2000;
if (c1[i]>85) and (ch2[i]='Y')
then
mon[i]:=mon[i]+1000;
if (c1[i]>80) and (ch1[i]='Y')
then
mon[i]:=mon[i]+850;
end;
for i:=1 to n do
if mon[i]>max
then
begin
max:=mon[i];
k:=nam[i];
end;
for i:=1 to n do
sum:=sum+mon[i];
writeln(k);
writeln(max);
writeln(sum);
readln;end.
-
02016-05-14 19:12:02@
#include <iostream>
#include <cstring>using namespace std;
int ys(int a,int b){
if(a>80&&b>=1)
return 8000;
else
return 0;
}int ws(int a,int b){
if(a>85&&b>80)
return 4000;
else
return 0;
}int cj(int a){
if(a>90)
return 2000;
else
return 0;
}int fxb(int a,char b){
if(a>85&&b=='Y')
return 1000;
else
return 0;
}int fbj(int a,char b){
if(a>80&&b=='Y')
return 850;
else
return 0;
}int main(){
int total;
cin>>total;string name[total];
int qm[total],bj[total],paper[total];
char gb[total],xb[total];for(int q=0;q<total;q++)
cin>>name[q]>>qm[q]>>bj[q]>>gb[q]>>xb[q]>>paper[q];int money[total];
for(int z=0;z<total;z++)
money[z]=0;for(int qq=0;qq<total;qq++){
money[qq]=ys(qm[qq],paper[qq])+ws(qm[qq],bj[qq])+cj(qm[qq])+fxb(qm[qq],xb[qq])+fbj(bj[qq],gb[qq]);
}int s=0,n=0,all=0;
for(int w=0;w<total;w++){
all=all+money[w];
if(s<money[w]){
s=money[w];
n=w;
}
}cout<<name[n]<<endl;
cout<<money[n]<<endl;
cout<<all;return 0;
} -
02016-05-10 22:27:07@
"""c
#include <stdio.h>
#define MAX_NUM 100
#define MAX_LEN 22
typedef struct information
{
char name[MAX_LEN];
int end_grade;
int class_grade;
char Is_monitor;
char Is_western;
int article_number;
int award_money;
}Student;int main(void)
{
int students_number;
scanf("%d",&students_number);
Student students_catalog[students_number];
int i;
for(i=0;i<students_number;i++)
{
scanf("%s %d %d",students_catalog[i].name,&(students_catalog[i].end_grade),&(students_catalog[i].class_grade));
getchar();
scanf("%c %c %d",&(students_catalog[i].Is_monitor),&(students_catalog[i].Is_western),&(students_catalog[i].article_number));
getchar();
students_catalog[i].award_money=0;
}
int index=0;
int money_max=0;
int all_money=0;
for(i=0;i<students_number;i++)
{
if(students_catalog[i].end_grade>80 && students_catalog[i].article_number>=1)
students_catalog[i].award_money+=8000;
if(students_catalog[i].end_grade>85 && students_catalog[i].class_grade>80)
students_catalog[i].award_money+=4000;
if(students_catalog[i].end_grade>90)
students_catalog[i].award_money+=2000;
if(students_catalog[i].end_grade>85 && students_catalog[i].Is_western=='Y')
students_catalog[i].award_money+=1000;
if(students_catalog[i].class_grade>80 && students_catalog[i].Is_monitor=='Y')
students_catalog[i].award_money+=850;
if(students_catalog[i].award_money>money_max)
{
money_max=students_catalog[i].award_money;
index=i;
}
all_money+=students_catalog[i].award_money;
}
printf("%s\n",students_catalog[index].name);
printf("%d\n",money_max);
printf("%d\n",all_money);
return 0;
}
""" -
02016-05-10 22:26:30@
'''c
#include <stdio.h>
#define MAX_NUM 100
#define MAX_LEN 22
typedef struct information
{
char name[MAX_LEN];
int end_grade;
int class_grade;
char Is_monitor;
char Is_western;
int article_number;
int award_money;
}Student;int main(void)
{
int students_number;
scanf("%d",&students_number);
Student students_catalog[students_number];
int i;
for(i=0;i<students_number;i++)
{
scanf("%s %d %d",students_catalog[i].name,&(students_catalog[i].end_grade),&(students_catalog[i].class_grade));
getchar();
scanf("%c %c %d",&(students_catalog[i].Is_monitor),&(students_catalog[i].Is_western),&(students_catalog[i].article_number));
getchar();
students_catalog[i].award_money=0;
}
int index=0;
int money_max=0;
int all_money=0;
for(i=0;i<students_number;i++)
{
if(students_catalog[i].end_grade>80 && students_catalog[i].article_number>=1)
students_catalog[i].award_money+=8000;
if(students_catalog[i].end_grade>85 && students_catalog[i].class_grade>80)
students_catalog[i].award_money+=4000;
if(students_catalog[i].end_grade>90)
students_catalog[i].award_money+=2000;
if(students_catalog[i].end_grade>85 && students_catalog[i].Is_western=='Y')
students_catalog[i].award_money+=1000;
if(students_catalog[i].class_grade>80 && students_catalog[i].Is_monitor=='Y')
students_catalog[i].award_money+=850;
if(students_catalog[i].award_money>money_max)
{
money_max=students_catalog[i].award_money;
index=i;
}
all_money+=students_catalog[i].award_money;
}
printf("%s\n",students_catalog[index].name);
printf("%d\n",money_max);
printf("%d\n",all_money);
return 0;
}
''' -
02016-04-06 17:46:33@
#include <iostream>
using namespace std;int main()
{
int n;
cin >> n;
int a[100][3];
char b[100][21];
char c[100][2];
int m[100] = {0};
for(int i = 0; i < n; i++ )
{
cin >> b[i];
for(int j = 0; j< 2;j++)
{
cin >> a[i][j];
}
for(int j = 0; j < 2;j++)
{
cin >> c[i][j];
}
cin >> a[i][2];
}
for(int i = 0; i < n; i++)
{
if(a[i][0] > 80 && a[i][2] >=1 )
m[i] += 8000;
if(a[i][0] > 85 && a[i][1] > 80 )
m[i] += 4000;
if(a[i][0] > 90)
m[i] += 2000;
if(a[i][0] > 85 && c[i][1] == 'Y')
m[i] += 1000;
if(a[i][1] > 80 && c[i][0] == 'Y')
m[i] += 850;
}
int total = 0;
for(int i = 0; i <n; i++)
{
total += m[i];
}
int e =0;
for (int i = 0; i< n;i++)
{;
if(m[e] < m[i])
e = i;
}
cout << b[e] <<endl;
cout << m[e] << endl;
cout << total;
system("pause");
} -
02016-03-29 22:48:37@
import java.util.*;
import static java.lang.System.*;
public class Main{
static Scanner in = new Scanner(System.in);public static void main(String[] args){
int n;
n=in.nextInt();
String id = null;
int mx=-1,sum=0;
for(int i=0;i<n;i++)
{
in.nextLine();
int award=0;
String name=in.next();
int score=in.nextInt();
int mark=in.nextInt();
String cadre=in.next();
String isXB=in.next();
int paples=in.nextInt();if(score>80&&paples>=1)
award+=8000;
if(score>85&&mark>80)
award+=4000;
if(score>90)
award+=2000;
if(score>85&&isXB.charAt(0)=='Y')
award+=1000;
if(mark>80&&cadre.charAt(0)=='Y')
award+=850;
if(award>mx)
{ id=name;
mx=award;
}
sum+=award;
}
out.println(id);
out.println(mx);
out.println(sum);
}
} -
02016-03-23 13:19:38@
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#define max 100000
using namespace std;
int tot[max];
int maxn,sum,re;
struct STU
{
string name;
int gra1,gra2,pas;
char a,b;
}stu[max];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>stu[i].name>>stu[i].gra1>>stu[i].gra2>>stu[i].a>>stu[i].b>>stu[i].pas;
if(stu[i].gra1>80&&stu[i].pas) tot[i]+=8000;
if(stu[i].gra1>85&&stu[i].gra2>80) tot[i]+=4000;
if(stu[i].gra1>90) tot[i]+=2000;
if(stu[i].gra1>85&&stu[i].b=='Y') tot[i]+=1000;
if(stu[i].gra2>80&&stu[i].a=='Y') tot[i]+=850;
}
for(int i=1;i<=n;i++)
{
if(tot[i]>maxn) {maxn=tot[i]; re=i;}
sum+=tot[i];
}
cout<<stu[re].name<<'\n'<<maxn<<'\n'<<sum;
return 0;
} -
02016-03-15 17:40:33@
include<iostream>
include<algorithm>
include<cstdio>
include<stdio.h>
using namespace std;
bool flag=true;int s;
struct sdd{
char name[101];
int qimo;
int banji;
char ganbu;
char xibu;
int lunwen;
int jj;
}a[101];
int comp(const sdd&a,const sdd&b){
return a.jj>b.jj;
}
int main(){
int n;cin>>n;
for(int i=1;i<=n;++i){
scanf("%s%d%d %c %c%d\n",&a[i].name,&a[i].qimo,&a[i].banji,&a[i].ganbu,&a[i].xibu,&a[i].lunwen);
}
for(int i=1;i<=n;++i){
if(a[i].qimo>80&&a[i].lunwen>=1)a[i].jj+=8000;
if(a[i].qimo>85&&a[i].banji>80)a[i].jj+=4000;
if(a[i].qimo>90)a[i].jj+=2000;
if(a[i].qimo>85&&a[i].xibu=='Y')a[i].jj+=1000;
if(a[i].banji>80&&a[i].ganbu=='Y')a[i].jj+=850;
}
sort(a+1,a+n+1,comp);
for(int i=1;i<=n;++i){
s+=a[i].jj;
}
cout<<a[1].name<<endl<<a[1].jj<<endl<<s;
return 0;
} -
02016-03-13 13:47:18@
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<stdio.h>
using namespace std;
bool flag=true;int s;
struct sdd{
char name[101];
int qimo;
int banji;
char ganbu;
char xibu;
int lunwen;
int jj;
}a[101];
int comp(const sdd&a,const sdd&b){
return a.jj>b.jj;
}
int main(){
int n;cin>>n;
for(int i=1;i<=n;++i){
scanf("%s%d%d %c %c%d\n",&a[i].name,&a[i].qimo,&a[i].banji,&a[i].ganbu,&a[i].xibu,&a[i].lunwen);
}
for(int i=1;i<=n;++i){
if(a[i].qimo>80&&a[i].lunwen>=1)a[i].jj+=8000;
if(a[i].qimo>85&&a[i].banji>80)a[i].jj+=4000;
if(a[i].qimo>90)a[i].jj+=2000;
if(a[i].qimo>85&&a[i].xibu=='Y')a[i].jj+=1000;
if(a[i].banji>80&&a[i].ganbu=='Y')a[i].jj+=850;
}
sort(a+1,a+n+1,comp);
for(int i=1;i<=n;++i){
s+=a[i].jj;
}
cout<<a[1].name<<endl<<a[1].jj<<endl<<s;
return 0;
}
才90分啊 告诉我还有一个答案出错在哪里!!!!!!!!!!! -
02016-03-10 20:18:15@
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n;
scanf("%d\n",&n);
struct wo
{
char ming[25]; int qi; int ban; char a; char b; int lun; int zong=0;
}stu[123];
int i,max=0,ji=0,gong=0;
for(i=0;i<n;i++)
{
scanf("%s %d %d %c %c %d",stu[i].ming,&stu[i].qi,&stu[i].ban,&stu[i].a,&stu[i].b,&stu[i].lun);
if((stu[i].qi>80)&&(stu[i].lun>=1)) stu[i].zong+=8000;
if((stu[i].qi>85)&&(stu[i].ban>80)) stu[i].zong+=4000;
if(stu[i].qi>90) stu[i].zong+=2000;
if((stu[i].qi>85)&&(stu[i].b=='Y')) stu[i].zong+=1000;
if((stu[i].ban>80)&&(stu[i].a=='Y')) stu[i].zong+=850;
gong+=stu[i].zong;
if(stu[i].zong>max) { ji=i; max=stu[i].zong; }
}
printf("%s\n%d\n%d",stu[ji].ming,max,gong);
return 0;
}//请问哪里错了 -
02016-02-22 14:27:50@
#**面向对象的写法**
import java.io.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(new BufferedReader(new InputStreamReader(System.in))); student[] students=new student[sc.nextInt()]; for (int i = 0; i < students.length; i++) students[i]=new student(sc.next(),sc.nextInt(),sc.nextInt(),sc.next().equals("Y")?true:false,sc.next().equals("Y")?true:false,sc.nextInt()); Arrays.sort(students, new comparator()); int total = 0; for (student student : students) total+=student.getMoney(); System.out.println(students[students.length-1].getName()+"\n"+students[students.length-1].getMoney()+"\n"+total); } } //奖学金比较器 class comparator implements Comparator<student>{ public int compare(student o1, student o2) { if(o1.getMoney()!=o2.getMoney()) return o1.getMoney()>o2.getMoney()?1:-1; else return 0; } } class student{ private String name; private int averageScore; private int classScore; private boolean isCadres; private boolean isEast; private int num; private int money=0; public student(String name,int averageScore,int classScore,boolean isCadres,boolean isEast,int num) { this.name=name; this.averageScore=averageScore; this.classScore=classScore; this.isCadres=isCadres; this.isEast=isEast; this.num=num; this.money+=(averageScore>80&&num>=1)?8000:0; this.money+=(averageScore>85&&classScore>80)?4000:0; this.money+=averageScore>90?2000:0; this.money+=(averageScore>85&&isEast)?1000:0; this.money+=(classScore>80&&isCadres)?850:0; } //getter和setter public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAverageScore() { return averageScore; } public void setAverageScore(int averageScore) { this.averageScore = averageScore; } public int getClassScore() { return classScore; } public void setClassScore(int classScore) { this.classScore = classScore; } public boolean isCadres() { return isCadres; } public void setCadres(boolean isCadres) { this.isCadres = isCadres; } public boolean isEast() { return isEast; } public void setEast(boolean isEast) { this.isEast = isEast; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public int getMoney() { return money; } public void setMoney(int money) { this.money = money; } }
-
02016-02-18 11:01:31@
/* *********************************************** Author :guanjun Created Time :2016/2/18 9:23:52 File Name :vijos1001.cpp ************************************************ */ #include <iostream> #include <cstring> #include <cstdlib> #include <stdio.h> #include <algorithm> #include <vector> #include <queue> #include <set> #include <map> #include <string> #include <math.h> #include <stdlib.h> #include <iomanip> #include <list> #include <deque> #include <stack> #define ull unsigned long long #define ll long long #define mod 90001 #define INF 0x3f3f3f3f #define maxn 10000+10 #define cle(a) memset(a,0,sizeof(a)) const ull inf = 1LL << 61; const double eps=1e-5; using namespace std; struct node{ string name; int avg; int bs; int ganbu; int xibu; int lunwen,money; node(){ ganbu=0; xibu=0; lunwen=0; money=0; } }nod[110]; int main() { #ifndef ONLINE_JUDGE //freopen("in.txt","r",stdin); #endif //freopen("out.txt","w",stdout); int n; char a,b; while(cin>>n){ for(int i=1;i<=n;i++){ cin>>nod[i].name>>nod[i].avg>>nod[i].bs>>a>>b>>nod[i].lunwen; if(a=='Y')nod[i].ganbu=1; if(b=='Y')nod[i].xibu=1; } int sum=0,mid; string mm; int Max=-INF; for(int i=1;i<=n;i++){ if(nod[i].avg>80&&nod[i].lunwen>=1){ nod[i].money+=8000; } if(nod[i].avg>85&&nod[i].bs>80){ nod[i].money+=4000; } if(nod[i].avg>90)nod[i].money+=2000; if(nod[i].avg>85&&nod[i].xibu)nod[i].money+=1000; if(nod[i].bs>80&&nod[i].ganbu)nod[i].money+=850; sum+=nod[i].money; if(nod[i].money>Max)Max=nod[i].money,mid=i; //cout<<nod[i].money<<endl; } cout<<nod[mid].name<<endl; cout<<nod[mid].money<<endl; cout<<sum<<endl; } return 0; }