1 条题解

  • 1
    @ 2022-7-21 20:55:32
    #include<iostream>
    #include<cstdio>
    using namespace std;
    #define MAX 1010
    inline int read()
    {
    	int x=0;bool t=false;char ch=getchar();
    	while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
    	if(ch=='-')t=true,ch=getchar();
    	while(ch<='9'&&ch>='0')x=x*10+ch-48,ch=getchar();
    	return t?-x:x;
    }
    int n,a[MAX],L[MAX][MAX],R[MAX][MAX];
    int main()
    {
    	int T=read();
    	while(T--)
    	{
    		n=read();
    		for(int i=1;i<=n;++i)a[i]=read();
    		for(int i=1;i<=n;++i)L[i][i]=R[i][i]=a[i];
    		for(int len=2;len<=n;++len)
    			for(int i=1,j=i+len-1;j<=n;++i,++j)
    			{
    				int x=a[j],l=L[i][j-1],r=R[i][j-1];
    				if(x==r)L[i][j]=0;
    				else if((x>l&&x>r)||(x<l&&x<r))L[i][j]=x;
    				else if(r<x&&x<l)L[i][j]=x-1;
    				else L[i][j]=x+1;
    				x=a[i],l=L[i+1][j],r=R[i+1][j];
    				if(x==l)R[i][j]=0;
    				else if((x>l&&x>r)||(x<l&&x<r))R[i][j]=x;
    				else if(r<x&&x<l)R[i][j]=x+1;
    				else R[i][j]=x-1;
    			}
    		puts(a[1]==L[2][n]?"0":"1");
    	}
    }
    
    • 1

    信息

    ID
    1547
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    递交数
    6
    已通过
    6
    上传者