2 条题解

  • 0
    @ 2025-10-8 16:59:17
    #include <bits/stdc++.h>
    using namespace std;
    const int N=110;
    int dx[6]={0,0,1,1,-1,-1};
    int dy[6]={1,-1,0,-1,0,1};
    int n,a[N][N],b[N][N];
    void dfs(int x,int y)
    {
    	b[x][y]=1;
        for(int i=0;i<6;i++)
        {
            int xx=x+dx[i], yy=y+dy[i];
            if(xx>=0 && xx<=n+1 && yy>=0 && yy<=n+1)
            if(a[x][y]==a[xx][yy]&&b[xx][yy]==0)
                dfs(xx,yy);
        }
                
    }
    int main()
    {
        freopen("a.in", "r", stdin);
        int T;scanf("%d",&T);
    	while(T--)
    	{
    		scanf("%d",&n);
    		for(int i=1;i<=n;i++)
    		{
    			a[0][i]=1;
    			a[n+1][i]=1;
                a[i][0]=-1;
    			a[i][n+1]=-1;
    		}
    		for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)scanf("%d",&a[i][j]);
    		memset(b,0,sizeof(b));
    		dfs(0,1);
    		if(b[n+1][1]!=0)
    		{
    			printf("Jimmy\n");
    			continue;
    		}
    		dfs(1,0);
    		if(b[1][n+1]!=0) printf("Chen\n");
    		else             printf("yet\n");
    	}
    	return 0;
    }
    
    • 0
      @ 2025-10-8 16:59:07
      #include <bits/stdc++.h>
      using namespace std;
      const int N=110;
      int dx[6]={0,0,1,1,-1,-1};
      int dy[6]={1,-1,0,-1,0,1};
      int n,a[N][N],b[N][N];
      void dfs(int x,int y)
      {
      	b[x][y]=1;
          for(int i=0;i<6;i++)
          {
              int xx=x+dx[i],yy=y+dy[i];
              if(xx>=0 && xx<=n+1 && yy>=0 && yy<=n+1)
              if(a[x][y]==a[xx][yy]&&b[xx][yy]==0)
                  dfs(xx,yy);
          }
                  
      }
      int main()
      {
          freopen("a.in","r",stdin);
          int T;scanf("%d",&T);
      	while(T--)
      	{
      		scanf("%d",&n);
      		for(int i=1;i<=n;i++)
      		{
      			a[0][i]=1;
      			a[n+1][i]=1;
                  a[i][0]=-1;
      			a[i][n+1]=-1;
      		}
      		for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)scanf("%d",&a[i][j]);
      		memset(b,0,sizeof(b));
      		dfs(0,1);
      		if(b[n+1][1]!=0)
      		{
      			printf("Jimmy\n");
      			continue;
      		}
      		dfs(1,0);
      		if(b[1][n+1]!=0) printf("Chen\n");
      		else             printf("yet\n");
      	}
      	return 0;
      }
      • 1

      信息

      ID
      1904
      时间
      1000ms
      内存
      128MiB
      难度
      10
      标签
      递交数
      8
      已通过
      4
      上传者