P1309 瑞士轮 (吸氧了)
Posted xiaoyezi-wink
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1309 瑞士轮 (吸氧了)相关的知识,希望对你有一定的参考价值。
P1309 瑞士轮
题解
1.这题可以模拟一下
2.sort吸氧可以过(可能是排序有点慢吧,不开会T)
sort排序时注意:
return 1 是满足条件,不交换
return 0是不满足,交换
代码(吸氧优化了一下QWQ)
// luogu-judger-enable-o2 #include<bits/stdc++.h> using namespace std; int n,r,q; struct node int s,num,w; peo[200002]; bool cmp(node x,node y) if(x.s >y.s ) return 1; if(x.s <y.s ) return 0; if(x.s ==y.s ) if(x.num <y.num ) return 1; else return 0; int main() scanf("%d%d%d",&n,&r,&q); n=2*n; for(int i=1;i<=n;i++) scanf("%d",&peo[i].s ); peo[i].num =i; for(int i=1;i<=n;i++) scanf("%d",&peo[i].w ); for(int k=1;k<=r;k++) sort(peo+1,peo+n+1,cmp); for(int i=1;i<=n;i+=2) if(peo[i].w <peo[i+1].w ) peo[i+1].s ++; else peo[i].s ++; sort(peo+1,peo+n+1,cmp); printf("%d",peo[q].num );
以上是关于P1309 瑞士轮 (吸氧了)的主要内容,如果未能解决你的问题,请参考以下文章