20pts 悬赏关注
查看原帖
20pts 悬赏关注
528867
Paris_Commune楼主2023/8/8 20:07
#include <bits/stdc++.h>
using namespace std;
int a[1005],l[1005][1005],r[1005][1005];
int main(){
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		for(int i=1;i<=n;i++){
			cin>>a[i];
			l[i][i]=r[i][i]=a[i];
		}
		for(int i=2;i<=n;i++)
			for(int j=1;j<=n-i+1;j++){
				int k=j+i-1;
				if(a[k]==r[j][k-1]){
					l[j][k]=0;
				}
				else if(a[k]>=l[j][k-1]&&a[k]<r[j][k-1]){
					l[j][k]=a[k]+1;
				}
				else if(a[k]>r[j][k-1]&&a[k]<=l[j][k-1]){
					l[j][k]=a[k]-1;
				}
				else{
					l[j][k]=a[k];
				}
				if(a[j]==l[j+1][k]){
					r[j][k]=0;
				}
				else if(a[j]>=r[j+1][k]&&a[j]<l[j+1][k]){
					r[j][k]=a[k]+1;
				}
				else if(a[j]>l[j+1][k]&&a[j]<=r[j+1][k]){
					r[j][k]=a[k]-1;
				}
				else{
					r[j][k]=a[k];
				}
			}
		puts(l[2][n]==a[1]?"0":"1");
	}
	return 0;
}
2023/8/8 20:07
加载中...