为何报错?
查看原帖
为何报错?
788825
wmq2012楼主2023/10/5 22:36

if(段位=="大佬")蒟蒻求助

#include<bits/stdc++.h>
using namespace std;
int T;
int a[2005];
int t[2005];
int b[2005];
int n;
bool flag=0;
bool ch(){
	for(int i=1;i<=n;i++){
		if(a[i]>b[i])return true;
	} 
	return false;
}
bool ch2(){
	for(int i=1;i<=n;i++){
		if(a[i]!=b[i])return false;
	}
	return true;
}
void op1(){
	int s=n;
	for(int i=1;i<=n/2;i++,s--){
		t[i]+=t[s];
		t[s]+=t[i];
	}
	if(n%2==1)t[n/2+1]*=2;
	return;
}
void op2(){
	for(int i=1;i<=n;i++)a[i]+=t[i];
	return;
}
void dfs(int dep){
	if(flag==1){
		return;
	}
	if(ch2()){
		flag=1;
		return;
	}
	op1();
	if(ch())return;
	dfs(dep+1);
	op2();
	dfs(dep+1);
}
int main(){
	//freopen("in","r",stdin);
	//freopen("out","w",stdout);
	cin>>T;
	while(T--){
		cin>>n;
		flag=0;
		memset(a,0,sizeof(a));
		for(int i=1;i<=n;i++){
			cin>>t[i];
		}
		for(int i=1;i<=n;i++){
			cin>>b[i];
		}
		dfs(1);	
		if(flag)cout<<"Yes"<<endl;
		else cout<<"No"<<endl;
	} 
	return 0;
}
2023/10/5 22:36
加载中...