题意:给出两个n*m的矩阵,每次操作可以让一个正方形矩阵行列交换。问,在无限次操作下,第一个矩阵能否变成第二个矩阵

分析:先把操作限定在2*2的矩阵中。这样对角线上的元素就可以随意交换。也就是说,如果给相邻的元素随意的交换次数,那么一个长度为n的数列可以得到任何顺序。

然后把操作放大,发现不在一个对角线上的元素无论如何也是无法交换位置的。

ac代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn=505;
int num1[maxn][maxn],num2[maxn][maxn];
vector<int>ve1,ve2;
int main()
{
int n,m;
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&num1[i][j]);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&num2[i][j]);
for(int a=1;a<=m;a++)
{
ve1.clear();
ve2.clear();
int y=a,x=1;
while(y>=1&&x>=1&&y<=m&&x<=n)
{
ve1.push_back(num1[x][y]);
ve2.push_back(num2[x][y]);
x++;
y--;
}
sort(ve1.begin(),ve1.end());
sort(ve2.begin(),ve2.end());
for(int i=0;i<ve1.size();i++)
{
if(ve1[i]!=ve2[i])
{
cout<<"NO"<<endl;
return 0;
}
}
}
for(int a=1;a<=n;a++)
{
ve1.clear();
ve2.clear();
int y=m,x=a;
while(y>=1&&x>=1&&y<=m&&x<=n)
{
ve1.push_back(num1[x][y]);
ve2.push_back(num2[x][y]);
x++;
y--;
}
sort(ve1.begin(),ve1.end());
sort(ve2.begin(),ve2.end());
for(int i=0;i<ve1.size();i++)
{
if(ve1[i]!=ve2[i])
{
cout<<"NO"<<endl;
return 0;
}
}
}
cout<<"YES"<<endl;
return 0;
}

  

codeforces#1136 C. Nastya Is Transposing Matrices(找规律)的更多相关文章

  1. Codeforces Round #546 (Div. 2) C. Nastya Is Transposing Matrices

    C. Nastya Is Transposing Matrices time limit per test 1 second memory limit per test 256 megabytes i ...

  2. Tetrahedron(Codeforces Round #113 (Div. 2) + 打表找规律 + dp计数)

    题目链接: https://codeforces.com/contest/166/problem/E 题目: 题意: 给你一个三菱锥,初始时你在D点,然后你每次可以往相邻的顶点移动,问你第n步回到D点 ...

  3. Codeforces 193E - Fibonacci Number(打表找规律+乱搞)

    Codeforces 题目传送门 & 洛谷题目传送门 蠢蠢的我竟然第一眼想套通项公式?然鹅显然 \(5\) 在 \(\bmod 10^{13}\) 意义下并没有二次剩余--我真是活回去了... ...

  4. Codeforces 1136C - Nastya Is Transposing Matrices

    题目链接:https://codeforces.com/problemset/problem/1136/C 题意: 给出 $n \times m$ 的矩阵 $A,B$,你可以对其中任意某个 $k \t ...

  5. Codeforces Round #546 C. Nastya Is Transposing Matrices

    题面: 传送门 题目描述: 给出两个n x m的矩阵A,B.矩阵A可以把正方子矩阵进行"转置操作",问:可不可以对矩阵A进行多次这样的操作,使矩阵A变为矩阵B?   题目分析: 这 ...

  6. C. Nastya Is Transposing Matrices

    链接 [https://codeforces.com/contest/1136/problem/C] 题意 给你两个规模一样的矩阵 问是否可以通过不断选取A矩阵的子"方正"转置得到 ...

  7. CF 1136C Nastya Is Transposing Matrices

    题目链接:http://codeforces.com/problemset/problem/1136/C 题目分析 看了题目之后,第一想法:任意位置都可以倒置,要是枚举,铁定的超时.所以需要探索规律. ...

  8. Codeforces 998D. Roman Digits 【打表找规律】

    <题目链接> 题目大意: 现在有无限个 1,5,10,50这四个数字,从中恰好挑选n个数字,问你这些数字的和总共有多少种不同的情况. 解题分析: 由于此题 n 的范围特别大,达到了1e9, ...

  9. Codeforces Round #265 (Div. 2) C 暴力+ 找规律+ 贪心

    C. No to Palindromes! time limit per test 1 second memory limit per test 256 megabytes input standar ...

随机推荐

  1. C#组件系列——又一款日志组件:Elmah的学习和分享

    前言:好久没动笔了,都有点生疏,12月都要接近尾声,可是这月连一篇的产出都没有,不能坏了“规矩”,今天还是来写一篇.最近个把月确实很忙,不过每天早上还是会抽空来园子里逛逛.一如既往,园子里每年这个时候 ...

  2. 第一册:lesson 111.

    原文:The most expensive model. question:Can Mr.Frith buy the television on instalments? How does it wo ...

  3. .NET WebAPI 利用特性捕捉异常

    声明:本方式及代码只使用与.NET Web API. 先创建类继承ExceptionFilterAttribute类型并复写OnException方法. 代码如下: using System; usi ...

  4. Go中变量作用域的小坑

    直接上一实例: package main import "fmt" func main(){ fmt.Println("for start") ; a < ...

  5. RabbitMQ如何工作和RabbitMQ核心概念

    RabbitMQ是一个开源的消息代理软件.它接受来自生产者的消息并将其传递给消费者.它就像一个中间人,可以用来减少Web应用程序服务器的负载和交付时间. RabbitMQ如何工作 让我们简要介绍一下R ...

  6. js获取文件后缀

    //获取文件后缀 function getType(file){ var filename=file; var index1=filename.lastIndexOf("."); ...

  7. vue 音乐App QQ音乐搜索列表最新接口跨域设置

    在 webpack.dev.config.js中 'use strict' const utils = require('./utils') const webpack = require('webp ...

  8. RMQ求LCA

    题目链接 rmq求LCA,interesting. 一直没有学这玩意儿是因为CTSC的Day1T2,当时我打的树剖LCA 65分,gxb打的rmq LCA 45分... 不过rmq理论复杂度还是小一点 ...

  9. #WEB安全基础 : HTML/CSS | 0x8CSS进阶

    你以为自己学这么点CSS就厉害了? 学点新东西吧,让你的网页更漂亮 我们只需要用到图片和网页   这是index.html的代码 <html> <head> <title ...

  10. C# ArcEngine二次开发之动态图层

    ArcEngine搭载C#进行GIS的二次开发,关于目标显示的问题,由于考虑到设置定时器刷新目标位置和方向,因此在显示图层上采用的是动态图层DynamicLayer,主要用到的dll文件是ESRI.A ...