3 条题解
-
1
#include<bits/stdc++.h> using namespace std; int n; int value[1<<8]; int winner[1<<8]; void dfs(int x){ if(x>=(1<<n))return; dfs(2*x); dfs(2*x+1); int lvalue=value[2*x]; int rvalue=value[2*x+1]; if(lvalue>rvalue){ value[x]=lvalue; winner[x]=winner[2*x]; }else{ value[x]=rvalue; winner[x]=winner[2*x+1]; } } int main(){ cin>>n; for(int i=0;i<(1<<n);i++){ cin>>value[(1<<n)+i]; winner[(1<<n)+i]=i+1; } dfs(1); int num=(value[2]>value[3]?winner[3]:winner[2]); cout<<num; return 0; }
信息
- ID
- 2056
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 60
- 已通过
- 28
- 上传者