zoukankan      html  css  js  c++  java
  • CF 1136C Nastya Is Transposing Matrices

    题目链接:http://codeforces.com/problemset/problem/1136/C

    题目分析 

        看了题目之后,第一想法:任意位置都可以倒置,要是枚举,铁定的超时。所以需要探索规律......

        结果发现,任意的两个数,如果可以交换,其横纵坐标之和一定相同,所以我们只需要用一个数组存储横纵坐标相同的所以点的值,然后判断在的横纵坐标之和相同的情况下,这个数组中所含有的数是否完全一致,有一个数组中所含有的数不相同,那么肯定不满足条件。

    代码区

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include <vector>
    using namespace std;
    typedef long long ll;
    const int inf = 0x3f3f3f3f;
    const int Max = 5e2 + 10;
    const int mod = 1e9 + 7;
    
    int map1[2 * Max][Max];		//map[x][k],x表示横纵坐标之和为x,k表示第k个数,其中map[x][0]表示横纵坐标为x的点的总个数
    int map2[2 * Max][Max];
    
    bool cmp(int index)
    {
    	for (int i = 1; i <= map1[index][0];i++)
    	{
    		if (map1[index][i] != map2[index][i])
    			return false;
    	}
    	return true;
    }
    
    int main()
    {
    	int n, m;
    	while (scanf("%d%d", &n, &m) != EOF)
    	{
    		memset(map1, 0, sizeof(map1));
    		memset(map2, 0, sizeof(map2));
    		for (int i = 1; i <= n; i++)
    		{
    			for (int j = 1; j <= m;j++)
    			{
    				int x;
    				scanf("%d", &x);
    				map1[i + j][++map1[i + j][0]] = x;
    			}
    		}
    		for (int i = 1; i <= n; i++)
    		{
    			for (int j = 1; j <= m;j++)
    			{
    				int x;
    				scanf("%d", &x);
    				map2[i + j][++map2[i + j][0]] = x;
    			}
    		}
    		bool ok = true;
    		for (int i = 2; i <= n + m;i++)
    		{
    			sort(map1[i] + 1, map1[i] + 1 + map1[i][0]);		//让序列有序
    			sort(map2[i] + 1, map2[i] + 1 + map2[i][0]);
    			if (!cmp(i))
    			{
    				ok = false;
    				break;
    			}
    		}
    		if (ok)
    		{
    			printf("YES
    ");
    		}
    		else
    		{
    			printf("NO
    ");
    		}
    
    	}
    	return 0;
    }
  • 相关阅读:
    sublime中node测试环境
    常用的win dos命令
    html area图片热点
    Git常用指令整理(Git Cheat Sheet)
    Java研发技术学习路线
    编程+工具基础教程|网站整理
    廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结
    现成的HTML5框架
    记录下自己学习的点滴-开始写博客
    linux查看日志文件
  • 原文地址:https://www.cnblogs.com/winter-bamboo/p/10634442.html
Copyright © 2011-2022 走看看