40分求助!!
查看原帖
40分求助!!
1343308
IAKIOI66666楼主2024/5/16 06:46
#include<bits/stdc++.h> 
#include<cstdio>
using namespace std;
int n,value[300],winner[300];
void dfs(int x){
	if(x>=1<<n)return;
	else{
		dfs(2*x);
		dfs(2*x+1);
		int l=value[2*x],r=value[2*x+1];
		if(l>r){value[x]=l;winner[x]=winner[2*x];}
		else {value[x]=r;winner[x]=winner[2*x+1];}
	}
}
int main()
{
	cin>>n;
	for(int i=0;i<1<<n;i++){
		cin>>value[i+(1<<n)];
		winner[i+(1<<n)]=i+1;
	}
	dfs(1);
	if(winner[3]>winner[2])cout<<winner[3];
	else cout<<winner[2];
	return 0; 
}
2024/5/16 06:46
加载中...