20pts求助

P4715 【深基16.例1】淘汰赛

这道题可以用二叉树 ~~可惜我不会~~ 但可以用 STL的队列+结构体 话不多书,上代码: ```cpp #include<bits/stdc++.h> using namespace std; struct node{ int a,sp; }; bool operator < (node x,node y){ return x.a<y.a; } int n; queue<node>q; int main() { cin>>n; for(int i=1;i<=(1<<n);i++){ node x; cin>>x.a; x.sp=i; q.push(x); } while(q.size()>2){ node u1=q.front();q.pop(); node u2=q.front();q.pop(); if(u2<u1){ q.push(u1); } else{ q.push(u2); } } node u1=q.front();q.pop(); node u2=q.front();q.pop(); if(u1<u2){ cout<<u1.sp; } else{ cout<<u2.sp; } return 0; }
by Libingyue2011 @ 2023-01-25 20:21:21


|