用排序做,每一次只会输出1,求调
查看原帖
用排序做,每一次只会输出1,求调
715774
Little_Andyyu楼主2022/8/29 21:44
#include<bits/stdc++.h>
using namespace std;
int f(int j,int k)
{
	return j<k?j:k;
}
int main()
{
	int a,b[129],d[129]={0},e[129]={0};
	cin>>a;
	for(int i=1;i<=(1<<a);i++){
		cin>>b[i];
	}
	int c=1<<(a-1);
	for(int i=1;i<=c;i++){
		b[i]=d[i];
	}
	for(int i=c+1;i<=a;i++){
		b[i]=e[i-c];
	}
	sort(d+1,d+c+1);
	sort(e+1,e+c+1);
	int q=f(d[c],e[c]);
	if(q==d[c])
	for(int i=1;i<=c;i++){
		if(b[i]==d[c])
		cout<<i;
		return 0;
	}
	else for(int i=c+1;i<=a;i++){
			if(b[i]==e[c])
			cout<<i;
			return 0;
		}
	return 0;
}
2022/8/29 21:44
加载中...