链接

[https://codeforces.com/contest/1136/problem/C]

题意

给你两个规模一样的矩阵

问是否可以通过不断选取A矩阵的子“方正”转置得到B矩阵

分析

明确一点,那些i+j相等的位置一定是在某个子方正的斜对角上(右上往左下画线就知道),

而且这个斜对角的任意两个元素是一定可以通过一些转置互换,而且其他位置不变。

自己拿几个矩阵模拟就知道了

后面只需要对每个i+j相等的排序对比两个矩阵的就OK了

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
//freopen("in.txt","r",stdin);
int n,m;
while(cin>>n>>m){
vector<int> v1[2*510],v2[2*510];
int x;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
cin>>x;
v1[i+j].push_back(x);
}
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
cin>>x;
v2[i+j].push_back(x);
}
for(int i=0;i<m+n;i++)
{
sort(v1[i].begin(),v1[i].end());
sort(v2[i].begin(),v2[i].end());
}
bool flag=1;
for(int i=0;i<m+n;i++)
if(v1[i]!=v2[i]){
flag=0;
break;
}
if(flag) cout<<"YES\n";
else cout<<"NO\n";
}
return 0;
}

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. codeforces#1136 C. Nastya Is Transposing Matrices(找规律)

    题意:给出两个n*m的矩阵,每次操作可以让一个正方形矩阵行列交换.问,在无限次操作下,第一个矩阵能否变成第二个矩阵 分析:先把操作限定在2*2的矩阵中.这样对角线上的元素就可以随意交换.也就是说,如果 ...

  3. Codeforces 1136C - Nastya Is Transposing Matrices

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

  4. CF 1136C Nastya Is Transposing Matrices

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

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

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

  6. Codeforces 1136 - A/B/C/D/E - (Done)

    链接:https://codeforces.com/contest/1136/ A - Nastya Is Reading a Book - [二分] #include<bits/stdc++. ...

  7. Codeforces Round #546 (Div. 2) 题解

    Codeforces Round #546 (Div. 2) 题目链接:https://codeforces.com/contest/1136 A. Nastya Is Reading a Book ...

  8. CF 1136A 1136B 1136C 1136D 1136E(Round546ABCDE)题解

    题目地址:https://codeforces.com/contest/1136 A: Nastya Is Reading a Book 题解:挨个判断即可,水题. 参考代码: #include< ...

  9. 三对角矩阵(Tridiagonal Matrices)的求法:Thomas Algorithm(TDMA)

    转载http://www.cnblogs.com/xpvincent/archive/2013/01/25/2877411.html 做三次样条曲线时,需要解三对角矩阵(Tridiagonal Mat ...

随机推荐

  1. SQL SERVER 查询表的行数

    SELECT OBJECT_NAME(ii.id) TableName ,rows FROM sysindexes ii INNER JOIN sysobjects oo ON ( oo.id = i ...

  2. 通过linkserver不能调远程表值函数

    Question: 通过linkserver调远程表值函数报错如下 Solution: 注意:查询语句中的[SDS_NONEDI].[DBO].ddddd(),不能加server名[sdsc2-1]. ...

  3. 消除Warning: Using a password on the command line interface can be insecure的提示

    最近在部署Zabbix时需要用脚本取得一些MySQL的返回参数,需要是numberic格式的,但是调用脚本时总是输出这一句: Warning: Using a password on the comm ...

  4. Linux内存描述之概述--Linux内存管理(一)

    1 前景回顾 1.1 UMA和NUMA两种模型 共享存储型多处理机有两种模型 均匀存储器存取(Uniform-Memory-Access,简称UMA)模型 将可用内存以连续方式组织起来, 非均匀存储器 ...

  5. shell read变量的读入

    shell变量的输入: shell变量除了可以直接赋值或脚本传参外,还可以使用read命令从标准输入获取,read为bash内置命令,可以通过help read查看帮助. 语法格式: read [参数 ...

  6. html文本格式

  7. JavaScript—Date对象详情

    Date对象概述 javaScript 提供了 Date 类型来处理时间和日期.Date 对象内置一系列获取和设置日期时间信息的方法.(不是内置对象,需要自己new) javaScript 中的 Da ...

  8. 什么是数据库ACID?

    原子性:由于操作失败导致的数据碎片错误: 一致性:由于并发导致的数据库数据错误(与预期不一致): 隔离性:由于并发导致的当前使用数据(应用端)错误: 事务在当今的企业系统无处不在,即使在高并发环境下也 ...

  9. 创建线程时如果既传入了runnable对象,又继承thread重写了run方法,会执行的哪里的代码

    1 使用线程的方式,继承thread类,重写run方法 new Thread() { @Override public void run() { System.out.println("我是 ...

  10. [SHOI2015]脑洞治疗仪

    嘟嘟嘟 这题其实就是一个线段树维护最大连续和的水题. 别的操作不说,操作1只要二分找区间前\(k\)个0即可. 需要注意的是,因为操作1两区间可能有交,因此要先清空再二分查询-- 复杂度\(O(n l ...