本文共 1005 字,大约阅读时间需要 3 分钟。
简单模拟题。
注意一点:如果一个人所有提交的代码都没编译通过,那么这个人不计排名。
如果一个人提交过的代码中有编译不通过的,也有通过的,那么那份编译不通过的记为0分。
#include #include #include #include #include #include #include #include #include using namespace std;const int maxn=10000+10;int n,k,m;int val[10];struct X{ int Rank; int num; int id; int tot; int get[10];}s[maxn],ans[maxn];int sz;bool cmp(const X&a,const X&b){ if(a.tot==b.tot&&a.num==b.num) return a.id b.num; return a.tot>b.tot;}int main(){ scanf("%d%d%d",&n,&k,&m); for(int i=1;i<=k;i++) scanf("%d",&val[i]); for(int i=1;i<=n;i++) { s[i].id=i; s[i].num=0; s[i].tot=0; for(int j=1;j<=k;j++) s[i].get[j]=-2; } for(int i=1;i<=m;i++) { int id,pro,get; scanf("%d%d%d",&id,&pro,&get); s[id].get[pro]=max(s[id].get[pro],get); } sz=0; for(int i=1;i<=n;i++) { int fail=1; for(int j=1;j<=k;j++) if(s[i].get[j]>=0) fail=0; if(fail==1) continue; ans[sz++]=s[i]; } for(int i=0;i
转载于:https://www.cnblogs.com/zufezzt/p/5634917.html