杭电的1236不知道为什么老WA,路过的大牛给看看哈!
#include<iostream>#include<algorithm>usingnamespacestd;structstudent{charname[30];int...
#include<iostream>
#include<algorithm>
using namespace std;
struct student
{
char name[30];
int s;
}b[1000];
int s[1000];
bool cmp(student a,student b)
{
if(a.s!=b.s)
return a.s>b.s;
return strcmp(a.name,b.name)<0;
}
int main()
{
int n,m,l,i,j,k,p,q;
while(cin>>n&&n)
{
cin>>m>>l;
for(i=0;i<m;i++)
cin>>s[i];
q=0;
for(i=0;i<n;i++)
{
b[i].s=0;
cin>>b[i].name;
cin>>k;
for(j=0;j<k;j++)
{
cin>>p;
b[i].s+=s[p-1];
}
if(b[i].s>=l)
q++;
}
sort(b,b+n,cmp);
cout<<q<<endl;
for(int h=0;h<q;h++)
cout<<b[h].name<<" "<<b[h].s<<endl;
}
return 0;
} 展开
#include<algorithm>
using namespace std;
struct student
{
char name[30];
int s;
}b[1000];
int s[1000];
bool cmp(student a,student b)
{
if(a.s!=b.s)
return a.s>b.s;
return strcmp(a.name,b.name)<0;
}
int main()
{
int n,m,l,i,j,k,p,q;
while(cin>>n&&n)
{
cin>>m>>l;
for(i=0;i<m;i++)
cin>>s[i];
q=0;
for(i=0;i<n;i++)
{
b[i].s=0;
cin>>b[i].name;
cin>>k;
for(j=0;j<k;j++)
{
cin>>p;
b[i].s+=s[p-1];
}
if(b[i].s>=l)
q++;
}
sort(b,b+n,cmp);
cout<<q<<endl;
for(int h=0;h<q;h++)
cout<<b[h].name<<" "<<b[h].s<<endl;
}
return 0;
} 展开
2个回答
展开全部
#include "iostream"
#include "stdio.h"
#include "math.h"
#include "vector"
#include "queue"
#include "memory.h"
#include "algorithm"
#include "string"
using namespace std;
int score[15];
struct Peo
{
char id[30];
int sum;
}p[1010];
int comp(const void *a,const void *b)
{
Peo *A=(Peo*)a;
Peo *B=(Peo*)b;
if(A->sum==B->sum) return strcmp(A->id,B->id);
return B->sum-A->sum;
}
int main()
{
int pn,cn,i,j,req,x;
while(cin>>pn&&pn)
{
cin>>cn;
cin>>req;
for(i=0;i<cn;i++)
cin>>score[i];
int count=0;
for(i=1;i<=pn;i++)
{
cin>>p[i].id>>j;
p[i].sum=0;
while(j--)
{
cin>>x;
p[i].sum+=score[x-1];
}
if(p[i].sum>=req)
count++;
}
cout<<count<<endl;
qsort(p+1,pn,sizeof(p[0]),comp);
for(i=1;i<=count;i++)
cout<<p[i].id<<" "<<p[i].sum<<endl;
}
}
#include "stdio.h"
#include "math.h"
#include "vector"
#include "queue"
#include "memory.h"
#include "algorithm"
#include "string"
using namespace std;
int score[15];
struct Peo
{
char id[30];
int sum;
}p[1010];
int comp(const void *a,const void *b)
{
Peo *A=(Peo*)a;
Peo *B=(Peo*)b;
if(A->sum==B->sum) return strcmp(A->id,B->id);
return B->sum-A->sum;
}
int main()
{
int pn,cn,i,j,req,x;
while(cin>>pn&&pn)
{
cin>>cn;
cin>>req;
for(i=0;i<cn;i++)
cin>>score[i];
int count=0;
for(i=1;i<=pn;i++)
{
cin>>p[i].id>>j;
p[i].sum=0;
while(j--)
{
cin>>x;
p[i].sum+=score[x-1];
}
if(p[i].sum>=req)
count++;
}
cout<<count<<endl;
qsort(p+1,pn,sizeof(p[0]),comp);
for(i=1;i<=count;i++)
cout<<p[i].id<<" "<<p[i].sum<<endl;
}
}
欧亿光电
2024-10-28 广告
2024-10-28 广告
多播光开关MCS,基于PLC及MEMS技术,是下一代可重构光分插复用系统(ROADM)的核心组件。它具备将任意光输入路由至任意输出端的能力,通过波长选择开关(WSS)的配合,实现波长无关、方向无关及无冲突的配置灵活性。MCS模块内集成多个独...
点击进入详情页
本回答由欧亿光电提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询