522 条题解
-
0
清风breeze LV 8 @ 2017-11-23 13:44:04
#include<bits/stdc++.h>
using namespace std;
struct node {
string name;
int qm,bj;
char bgb,xb;
int lw;
int ans;
int sum;
}a[101];
int n, tot=0;
bool cmp(node x,node y) {
if(x.ans==y.ans) return x.sum<y.sum;
else return x.ans>y.ans;
}
int main() {
scanf("%d",&n);
for(int i=1; i<=n; i++) {
cin>>a[i].name>>a[i].qm>>a[i].bj>>a[i].bgb>>a[i].xb>>a[i].lw;
if(a[i].qm>80&&a[i].lw>=1) a[i].ans+=8000;
if(a[i].qm>85&&a[i].bj>80) a[i].ans+=4000;
if(a[i].qm>90) a[i].ans+=2000;
if(a[i].xb=='Y'&&a[i].qm>85) a[i].ans+=1000;
if(a[i].bj>80&&a[i].bgb=='Y') a[i].ans+=850;
a[i].sum=i;
tot+=a[i].ans;
}
sort(a+1,a+n+1,cmp);
cout<<a[1].name<<endl<<a[1].ans<<endl<<tot;
return 0;
} -
0@ 2017-11-10 20:11:15
为什么这个在自己电脑上是可以的提交就不通过呢?
#include <stdio.h>
int main()
{
struct menber
{
char name[20];
int score;
int classscore;
char cadre;
char west;
int paper;
int sum;
}a[20];
int i,times,sum,temp,all;
all=0;
scanf("%d",×);
for(i=0;i<times;i++){
scanf("%s %d %d %C %c %d",&a[i].name,&a[i].score,&a[i].classscore,&a[i].cadre,&a[i].west,&a[i].paper);
a[i].sum=0;}
for(i=0;i<times;i++){
if(a[i].score>80&&a[i].paper>=1) a[i].sum=a[i].sum+8000;
if(a[i].score>85&&a[i].classscore>80) a[i].sum=a[i].sum+4000;
if(a[i].score>90) a[i].sum=a[i].sum+2000;
if(a[i].score>85&&a[i].west=='Y') a[i].sum=a[i].sum+1000;
if(a[i].classscore>80&&a[i].cadre=='Y') a[i].sum=a[i].sum+850;
}temp=0;
for(i=0;i<times;i++){
if(a[i].sum>a[temp].sum) temp=i;
all=a[i].sum+all;}
printf("%s\n%d\n%d",a[temp].name,a[temp].sum,all);}
-
0@ 2017-11-08 13:53:16
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[]) {int n,e,i,b,a;char c,d;
scanf("%d",&n);int f[n];
int s=0;
char c1[20];char c2[20];
i=0;
int max;
while(n<=100&&n>=1){f[i]=0;
scanf("%s %d %d %c %c %d",&c1,&a,&b,&c,&d,&e);
if(d=='Y'&&b>80){
f[i]=f[i]+850;
}
if(a<=100&&a>85&&b>80){
f[i]=f[i]+4000;
}
if(e<=10&&e>0&&a>80){
f[i]=f[i]+8000;
}
if(c=='Y'&&a>85&&a<=100){
f[i]=f[i]+1000;
}
if(a>90&&a<=100){
f[i]=f[i]+2000;
}
if(f[i]>f[i-1]||i==0){
strcpy(c2,c1);
max=i;
}
s=s+f[i];i++;
n--;
}
printf("%s\n%d\n%d\n",c2,f[max],s);
return 0;
} -
0@ 2017-11-08 13:52:47
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[]) {int n,e,i,b,a;char c,d;
scanf("%d",&n);int f[n];
int s=0;
char c1[20];char c2[20];
i=0;
int max;
while(n<=100&&n>=1){f[i]=0;
scanf("%s %d %d %c %c %d",&c1,&a,&b,&c,&d,&e);
if(d=='Y'&&b>80){
f[i]=f[i]+850;
}
if(a<=100&&a>85&&b>80){
f[i]=f[i]+4000;
}
if(e<=10&&e>0&&a>80){
f[i]=f[i]+8000;
}
if(c=='Y'&&a>85&&a<=100){
f[i]=f[i]+1000;
}
if(a>90&&a<=100){
f[i]=f[i]+2000;
}
if(f[i]>f[i-1]||i==0){
strcpy(c2,c1);
max=i;
}
s=s+f[i];i++;
n--;
}
printf("%s\n%d\n%d\n",c2,f[max],s);
return 0;
}
为什么这个不行? -
0@ 2017-11-06 19:49:03
#include <stdio.h>
struct student{
char name[80],g,x;
int q,b,l,jiang;
}a[120],max;int main()
{
int n,i,k=0;
char block;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s %d %d %c %c %d",a[i].name,&a[i].q,&a[i].b,&a[i].g,&a[i].x,&a[i].l);
a[i].jiang=0;
if(a[i].q>80&&a[i].l>0)a[i].jiang+=8000;
if(a[i].q>85&&a[i].b>80)a[i].jiang+=4000;
if(a[i].q>90)a[i].jiang+=2000;
if(a[i].q>85&&a[i].x=='Y')a[i].jiang+=1000;
if(a[i].b>80&&a[i].g=='Y')a[i].jiang+=850;
k+=a[i].jiang;
}
max=a[0];
for(i=1;i<n;i++){
if(max.jiang<a[i].jiang)max=a[i];
}
printf("%s\n%d\n%d",max.name,max.jiang,k);
return 0;
} -
0@ 2017-11-05 15:49:46
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cstdlib>
using namespace std;
struct point//结构体
{
int qm,py,lw,num,money;// 期末平均成绩,评议成绩,论文数,记录顺序,记录奖金数。
char name[22];//名字
char gb,xb;//干部,西北。
} a[102];
int qian(point a,point b)
{
if(a.money!=b.money)return a.money>b.money;
else
return a.num<b.num;
} //按从大到小排序奖金数,并排出输入顺序。
/*int ming(point a,point b)
{
return a.num<b.num;
}*/
int main()
{
int n,total=0;//n,total用于记录总钱数
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
a[i].num=i;
scanf("%s%d%d%s%s%d",&a[i].name,&a[i].qm,&a[i].py,&a[i].gb,&a[i].xb,&a[i].lw);
if(a[i].qm>80&&a[i].lw>=1)
a[i].money+=8000;//院士奖学金
if(a[i].qm>85&&a[i].py>80)
a[i].money+=4000;//五四奖学金
if(a[i].qm>90)
a[i].money+=2000;//成绩优秀奖
if(a[i].qm>85&&a[i].xb=='Y')
a[i].money+=1000;//西部奖学金
if(a[i].py>80&&a[i].gb=='Y')
a[i].money+=850;//班级贡献奖
total+=a[i].money;//总奖金数
}
sort(a+1,a+n+1,qian);//从小到大排序printf("%s\n",a[1].name);//输出
printf("%d\n",a[1].money);
printf("%d\n",total);
return 0;
} -
0@ 2017-11-02 14:16:44
纯模拟
cpp
#include <iostream>
using namespace std;
int n,ans[110],z,_max;//学生数,每个学生的奖学金,奖学金总和,最多奖学金的学生序号
struct student{
char na[21];//名字
int ts;//期末成绩
int cs;//班级评测成绩
char isc;//是否班干部
char isw;//是否西部学生
int t;//发表论文数
}stu[110];
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>stu[i].na>>stu[i].ts>>stu[i].cs>>stu[i].isc>>stu[i].isw>>stu[i].t;
if(stu[i].ts>80&&stu[i].t>=1) ans[i]+=8000;
if(stu[i].ts>85&&stu[i].cs>80) ans[i]+=4000;
if(stu[i].ts>90) ans[i]+=2000;
if(stu[i].ts>85&&stu[i].isw=='Y') ans[i]+=1000;
if(stu[i].cs>80&&stu[i].isc=='Y') ans[i]+=850;
}
for(int i=0;i<n;i++)
{
if(ans[i]>ans[_max]) _max=i;
z+=ans[i];
}
cout<<stu[_max].na<<"\n"<<ans[_max]<<"\n"<<z;
return 0;
}
-
0@ 2017-10-29 19:19:20
#include <iostream>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
int i,n;
cin>>n;
char name[10001],ganbu,west;
int last,banji,topic;
char name_1[10001];
int person,c=0,max=-2147483644;
for (i=0;i<n;i++)
{
cin>>name>>last>>banji>>ganbu>>west>>topic;
person=0;
if (last>80&&topic>=1)
person+=8000;
if (last>85&&banji>80)
person+=4000;
if (last>90)
person+=2000;
if (last>85&&west=='Y')
person+=1000;
if (banji>80&&ganbu=='Y')
person+=850;
if (person>max)
{
max=person;
strcpy(name_1,name);
}
c+=person;
}
cout<<name_1<<endl<<max<<endl<<c<<endl;
system("pause");
return 0;
} -
0@ 2017-10-29 19:18:55
#include <iostream>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
int i,n;
cin>>n;
char name[10001],ganbu,west;
int last,banji,topic;
char name_1[10001];
int person,c=0,max=-2147483644;
for (i=0;i<n;i++)
{
cin>>name>>last>>banji>>ganbu>>west>>topic;
person=0;
if (last>80&&topic>=1)
person+=8000;
if (last>85&&banji>80)
person+=4000;
if (last>90)
person+=2000;
if (last>85&&west=='Y')
person+=1000;
if (banji>80&&ganbu=='Y')
person+=850;
if (person>max)
{
max=person;
strcpy(name_1,name);
}
c+=person;
}
cout<<name_1<<endl<<max<<endl<<c<<endl;
system("pause");
return 0;
} -
0@ 2017-10-29 19:18:47
#include <iostream>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
int i,n;
cin>>n;
char name[10001],ganbu,west;
int last,banji,topic;
char name_1[10001];
int person,c=0,max=-2147483644;
for (i=0;i<n;i++)
{
cin>>name>>last>>banji>>ganbu>>west>>topic;
person=0;
if (last>80&&topic>=1)
person+=8000;
if (last>85&&banji>80)
person+=4000;
if (last>90)
person+=2000;
if (last>85&&west=='Y')
person+=1000;
if (banji>80&&ganbu=='Y')
person+=850;
if (person>max)
{
max=person;
strcpy(name_1,name);
}
c+=person;
}
cout<<name_1<<endl<<max<<endl<<c<<endl;
system("pause");
return 0;
} -
0@ 2017-10-17 12:35:07
type
Tnode=record
nam:string;
adv,cla,num,tot:longint;
job,west:boolean;
end;
var
st:string;
N,i,p,q,ans,max:longint;
a:array[1..100]of Tnode;
begin
readln(N);
max:=0;
for i:=1 to N do
begin
readln(st);
a[i].job:=false;
a[i].west:=false;
p:=pos(' ',st);
a[i].nam:=copy(st,1,p-1);
delete(st,1,p);
p:=pos(' ',st);
val(copy(st,1,p-1),a[i].adv);
delete(st,1,p);
p:=pos(' ',st);
val(copy(st,1,p-1),a[i].cla);
delete(st,1,p);
if st[1]='Y' then a[i].job:=true;
if st[3]='Y' then a[i].west:=true;
delete(st,1,4);
val(st,a[i].num);
if (a[i].adv>80)and(a[i].num>=1) then inc(a[i].tot,8000);
if (a[i].adv>85)and(a[i].cla>80) then inc(a[i].tot,4000);
if a[i].adv>90 then inc(a[i].tot,2000);
if (a[i].adv>85)and(a[i].west) then inc(a[i].tot,1000);
if (a[i].cla>80)and(a[i].job) then inc(a[i].tot,850);
ans:=ans+a[i].tot;
if a[i].tot>max then
begin
max:=a[i].tot;
q:=i;
end;
end;
writeln(a[q].nam);
writeln(a[q].tot);
write(ans);
end. -
0@ 2017-09-24 21:34:25
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int m,n,ans;
int a[11][11],xxx[8]={1,2,1,2,-1,-2,-1,-2},yyy[8]={2,1,-2,-1,2,1,-2,-1};
void work(int x,int y,int j)
{
j++;a[x][y]=1;
if(j==m*n){ans++;}
for(int i=0;i<8;i++)
{
if(x+xxx[i]>0&&x+xxx[i]<=n&&y+yyy[i]>0&&y+yyy[i]<=m&&!a[x+xxx[i]][y+yyy[i]])
work(x+xxx[i],y+yyy[i],j);
}
a[x][y]=0;
}int main()
{
int T,xx,yy;
cin>>T;
for(int i=1;i<=T;i++)
{
ans=0;
memset(a,0,sizeof(a));
cin>>n>>m>>xx>>yy;
xx++;yy++;
work(xx,yy,0);
cout<<ans<<endl;
//for(int i=1;i<=n;i++)
//for(int j=1;j<=m;j++)
//cout<<a[i][j]<<endl;
}
return 0;
} -
0@ 2017-09-14 20:21:56
#include <iostream>
using namespace std;
int main()
{
//数据输入变量声明
int N;//数据个数
string Name;//学生名字
int Average;//平均成绩
int PingYiChengJi;//评议成绩
char IsGanBu;//是否干部
char IsWest;//是否西部学生
int NumLunWen;//发表的论文数量//数据输出变更声明
string NameZuiDuoName;//最多奖学金的学生的名字
int JiangJinSum = 0;//这名学生的资金总数
int JiangJinZuiDuo = 0;//最多奖金数
int JiangJingSum2 = 0;//所有学生的奖金之和//实现
cin >> N;
for (int i = 0; i < N; i++)
{
JiangJinSum = 0;
cin >> Name >> Average >> PingYiChengJi >> IsGanBu >> IsWest >> NumLunWen;
if (Average > 80 && NumLunWen >= 1)
JiangJinSum += 8000;
if (Average > 85 && PingYiChengJi > 80)
JiangJinSum += 4000;
if (Average > 90)
JiangJinSum += 2000;
if (Average > 85 && IsWest == 'Y')
JiangJinSum += 1000;
if (PingYiChengJi > 80 && IsGanBu == 'Y')
JiangJinSum += 850;
JiangJingSum2 += JiangJinSum;//所有学生的奖金之和
if (JiangJinSum > JiangJinZuiDuo)
{
NameZuiDuoName = Name;//最多奖学金的学生的名字
JiangJinZuiDuo = JiangJinSum;//最多奖金数
}
}
cout << NameZuiDuoName << endl << JiangJinZuiDuo << endl << JiangJingSum2 << endl;
cin >> N;
} -
0@ 2017-08-22 17:06:16
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<string>
using namespace std;class s{
public:
string name;
int qm,py;
char gb,xb;
int lw;
int jxj;
};s st[105];
int f(s a)
{
int sum=0;
if(a.qm>80&&a.lw>=1)sum+=8000;
if(a.qm>85&&a.py>80)sum+=4000;
if(a.qm>90)sum+=2000;
if(a.qm>85&&a.xb=='Y')sum+=1000;
if(a.py>80&&a.gb=='Y')sum+=850;
return sum;
}
int main()
{
int N;
int sum=0;
cin>>N;
for(int i=0;i<N;i++){
// scanf("%s %d %d %c %c %d",&st[i].name,&st[i].qm,&st[i].py,&st[i].gb,&st[i].xb,&st[i].lw);
cin>>st[i].name>>st[i].qm>>st[i].py>>st[i].gb>>st[i].xb>>st[i].lw;
// cout<<st[i].name<<st[i].qm<<st[i].py<<st[i].gb<<st[i].xb<<st[i].lw<<endl;
st[i].jxj=f(st[i]);
sum+=st[i].jxj;
}
string n;
n=st[0].name;int ma=st[0].jxj;
for(int i=1;i<N;i++){
if(st[i].jxj>ma){
ma=st[i].jxj;
n=st[i].name;
}
}
cout<<n<<endl<<ma<<endl<<sum<<endl;
return 0;
} -
0@ 2017-08-22 10:45:00
#include "iostream"
#include "cstdio"
#include "string"
using namespace std;
struct student
{
char name[20];
int year;
int grade;
char ban;
char xi;
int book;
int sum1;
};
int main()
{
struct student stu[101];
int n,i,j,sum=0,max=0;
cin>>n;
for(i=1;i<=n;i++){
cin>>stu[i].name>>stu[i].year>>stu[i].grade>>stu[i].ban>>stu[i].xi>>stu[i].book;
stu[i].sum1=0;
}
for(i=1;i<=n;i++)
{
if(stu[i].year>80&&stu[i].book)
stu[i].sum1=stu[i].sum1+8000;
if(stu[i].year>85&&stu[i].grade>80)
stu[i].sum1=stu[i].sum1+4000;
if(stu[i].year>90)
stu[i].sum1=stu[i].sum1+2000;
if(stu[i].year>85&&stu[i].xi=='Y')
stu[i].sum1=stu[i].sum1+1000;
if(stu[i].grade>80&&stu[i].ban=='Y')
stu[i].sum1=stu[i].sum1+850;
if(max<stu[i].sum1){
max=stu[i].sum1;
j=i;
}
sum=sum+stu[i].sum1;
}
cout<<stu[j].name<<endl;
cout<<stu[j].sum1<<endl;
cout<<sum<<endl;
return 0;
} -
0@ 2017-08-15 00:27:35
#include <iostream> #include <cstdio> #include <cstdlib> #include <cmath> #include <cstring> #include <algorithm> using namespace std; int main(){ int n,b,c,f,i,max=0,maxR=0,money=0,moneymax=0,moneyall=0,maxi=0; char d,e,a[120][25]; scanf("%d",&n); for(i=1;i<=n;i++) { money=0; scanf("%s %d %d %c %c %d",a[i],&b,&c,&d,&e,&f); if(b>80&&f>=1) money=money+8000; if(b>85&&c>80) money=money+4000; if(b>90) money=money+2000; if(e=='Y'&&b>85) money=money+1000; if(d=='Y'&&c>80) money=money+850; moneyall=moneyall+money; if(money>moneymax) { moneymax=money; maxi=i; } } puts(a[maxi]); printf("%d\n%d",moneymax,moneyall); return 0; } -
0@ 2017-08-12 10:37:20
#include<string>
#include<vector>
#include<iostream>
using namespace std;struct student{
string name;//姓名
int average_score;//期末平均成绩
int class_score;//班级评议成绩
char is_cadre;//是否是学生干部
char is_west;//是否是西部学生
int number_paper;//论文数量
static int sum;//所有学生的奖学金和
int money_sum;//某一学生的奖学金和
student():money_sum(0){}void input(){
cin>>name>>average_score>>class_score>>is_cadre>>is_west>>number_paper;
}void output(){
cout<<name<<endl;
cout<<money_sum<<endl;
cout<<sum<<endl;
}void run(){
if(average_score > 80 && number_paper >= 1)
money_sum += 8000;if(average_score > 85 && class_score > 80)
money_sum += 4000;if(average_score > 90)
money_sum += 2000;if(average_score > 85 && is_west == 'Y')
money_sum += 1000;if(class_score > 80 && is_cadre == 'Y')
money_sum += 850;sum += money_sum;
}};
int student::sum = 0;
int main(){
int N;
cin>>N;
vector<student> s(N, student());
for(int i = 0; i < N; ++i){
s[i].input();
s[i].run();
}
int max = 0;
for(int i = 1; i < N; ++i){
if(s[max].money_sum < s[i].money_sum){
max = i;
}
}
s[max].output();return 0;
} -
0@ 2017-07-30 22:08:31
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int n,qian;
struct italy{
string name;
int sco1,sco2,wen;
char gan,west;
int money;
int num;
}stu[100+5];
bool cmp(const italy &x,const italy &y)
{
if(x.money==y.money) return x.num<y.num;
else return x.money>y.money;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
cin>>stu[i].name>>stu[i].sco1>>stu[i].sco2>>stu[i].gan>>stu[i].west>>stu[i].wen;
stu[i].num=i;
if(stu[i].sco1>80&&stu[i].wen>=1) stu[i].money+=8000;
if(stu[i].sco1>85&&stu[i].sco2>80) stu[i].money+=4000;
if(stu[i].sco1>90) stu[i].money+=2000;
if(stu[i].sco1>85&&stu[i].west=='Y') stu[i].money+=1000;
if(stu[i].sco2>80&&stu[i].gan=='Y') stu[i].money+=850;
qian+=stu[i].money;
}
sort(stu+1,stu+n+1,cmp);
cout<<stu[1].name<<endl<<stu[1].money<<endl<<qian;
return 0;
} -
0@ 2017-07-25 18:43:18
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int main(){
int n,i;
cin>>n;
string a,b;
int pj,py,lw,jxj_a=0,jxj_b=0,jxj_tt=0;
char gb,xb;
for(i=0;i<n;i++)
{
cin>> b >> pj >> py >> gb >> xb >> lw;
if(pj>80 && lw>=1)
jxj_b+=8000;
if(pj>85 && py>80)
jxj_b+=4000;
if(pj>90)
jxj_b+=2000;
if(pj>85 && xb=='Y')
jxj_b+=1000;
if(py>80 && gb=='Y')
jxj_b+=850;
if(jxj_b>jxj_a){
jxj_a=jxj_b;
a=b;
}
jxj_tt+=jxj_b;
jxj_b=0;
}
cout<<a<<endl<<jxj_a<<endl<<jxj_tt<<endl;
return 0;
} -
0@ 2017-07-18 20:50:28
//此题只需使用结构体存储加上不停地循环条件判断即可解决,毫无难度
//ヽ( ̄▽ ̄)( ̄▽ ̄)~
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
struct{
char mz[20];
int pj;
int yl;
char xb;
char gb;
int lw;
}a[105];
int main(){
int n,ans[105],sum=0,max=0;
memset(ans,0,sizeof(ans));
scanf ("%d",&n);
for (int i=0;i<n;i++){
scanf ("%s %d %d %c %c %d",a[i].mz,&a[i].pj,&a[i].yl,&a[i].gb,&a[i].xb,&a[i].lw);
}
for (int i=0;i<n;i++){
if (a[i].pj>80&&a[i].lw>=1) ans[i]+=8000;
if (a[i].pj>85&&a[i].yl>80) ans[i]+=4000;
if (a[i].pj>90) ans[i]+=2000;
if (a[i].pj>85&&a[i].xb=='Y') ans[i]+=1000;
if (a[i].yl>80&&a[i].gb=='Y') ans[i]+=850;
}
max=ans[0];sum+=ans[0];
int t;
for (int i=1;i<n;i++){
if(ans[i]>max) {
max=ans[i];
t=i;}
sum+=ans[i];
}
puts (a[t].mz);
printf ("%d\n%d",max,sum);
return 0;
}و