问题 L: 矩阵

题目描述

X终于开始玩一些比较高大上的东西了,比如矩阵。给出两个N*N的矩阵A,B。他想知道矩阵A在顺时针旋转一定角度后是否会和矩阵B完全一样。

输入

有多组输入。

每组输入先输入一个整数N(N <= 50),代表矩阵的大小。

接下来的N行,每行有N个整数。代表矩阵A。

再接下来的N行N个整数代表矩阵B。

输出

如果矩阵A在旋转一定角度后能和矩阵B完全一样则输出YES,否则输出NO。

样例输入 Copy
2
1 2
3 4
3 1
4 2
2
1 2
3 4
4 2
3 1
样例输出 Copy
YES
NO
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int N,a[20][20],b[20][20],i,j,t,q,w,e,r;
    while(scanf("%d",&N)!=EOF)
    {
        q=0;
        w=0;
        e=0;
        r=0;
       for(i=0;i<N;i++)
      {
          for(j=0;j<N;j++)
          {
              scanf("%d",&a[i][j]);
          }
      }
       for(i=0;i<N;i++)
      {
          for(j=0;j<N;j++)
          {
              scanf("%d",&b[i][j]);
          }
      }
      for(i=0;i<N;i++)
      {
          for(j=0;j<N;j++)
          {
            if(a[i][j]!=b[i][j])
            {
               q=1;
               break;
            }
        }
      }
      for(i=0;i<N;i++)
      {
          for(j=0;j<N;j++)
          {
              if(a[i][j]!=b[j][N-i-1])
              {
                  w=1;
                  break;
              }

          }
      }
      for(i=0;i<N;i++)
      {
          for(j=0;j<N;j++)
          {
              if(a[i][j]!=b[N-i-1][N-j-1])
              {
                  e=1;
                  break;
              }

          }
      }
     for(i=0;i<N;i++)
      {
          for(j=0;j<N;j++)
          {
              if(a[i][j]!=b[N-j-1][i])
              {
                  r=1;
                  break;
              }

          }
      }
     if(q==1&&w==1&&e==1&&r==1)
     {
         printf("NO\n");
     }
     if(q==0||w==0||e==0||r==0)
     {
         printf("YES\n");
     }
    }
    return 0;
}


 

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值