codeforces 724B Batch Sort
来源:互联网 发布:人工智能需要哪些技术 编辑:程序博客网 时间:2024/06/05 22:43
题意
每行的是1到m的一个排列,每行可以挑两个元素交换,可以交换两列一次,至多n+1个操作,问一系列操作后能否满足每行是1到m的递增排列。
思路
这题思路很飘,操作没有顺序,枚举交换列的操作,交换完成后再利用行操作看能否达到要求。
代码
/* ********************************Author : danmuCreated Time : 2016年10月10日 星期一 20时48分42秒File Name : a.cpp******************************** */#include <algorithm>#include <iostream>#include <cstdlib>#include <cstring>#include <iomanip>#include <string>#include <vector>#include <cstdio>#include <stack>#include <queue>#include <cmath>#include <list>#include <map>#include <set>#define rep(i,x,y) for(int i=x;i<=y;++i)#define _rep(i,x,y) for(int i=x;i>=y;--i)#define CL(S,x) memset(S,x,sizeof(S))#define CP (S1,S2) memcpy(S1,S2,sizeof(S2))#define ALL(x,S) for(x=S.begin();x!=S.end();++x)#define ULL unsigned long long#define PI 3.1415926535#define INF 0x3f3f3f3f#define LL long longconst int maxn = 1e6;const int mod = 1e9 + 7;const double eps = 1e-8;using namespace std;int a[30][30];int n,m;bool check(){ for(int i=1;i<=n;++i){ int tmp=0; for(int j=1;j<=m;++j){ if(a[i][j]!=j){ if(a[i][a[i][j]]==j) ++tmp; else return false; } } if(tmp>2) return false; } return true;}void print(){ for(int i=1;i<=n;++i){ for(int j=1;j<=m;++j){ printf("%d ",a[i][j]); } puts(""); }}int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int flag=0; scanf("%d%d",&n,&m); for(int i=1;i<=n;++i){ for(int j=1;j<=m;++j){ scanf("%d",&a[i][j]); } } if(check()) flag=1; for(int i=1;i<=m&&!flag;++i){ for(int j=i+1;j<=m&&!flag;++j){ for(int k=1;k<=n;++k) swap(a[k][i],a[k][j]); //printf("%d %d\n",i,j); //print(); if(check()) {flag=1;break;} for(int k=1;k<=n;++k) swap(a[k][i],a[k][j]); } } printf("%s\n",flag?"YES":"NO"); return 0;}
总结
没搞懂操作顺序的地方。
0 0
- codeforces 724B Batch Sort
- codeforces 724B Batch Sort
- CodeForces 724B Batch Sort
- 【39.77%】【codeforces 724B】Batch Sort
- Codeforces 724B Batch Sort(暴力枚举)
- Codeforces 724B Batch Sort【暴力枚举】
- 【codeforces 724B Batch Sort】+ 枚举
- [codeforces]B. Batch Sort 暴力
- Codeforces Round Intel Code Challenge Final Round B.Batch Sort
- Codeforces 652 B. z-sort
- 【Codeforces 652 B z-sort 】
- CodeForces 652B z-sort
- Batch Sort
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) B(模拟) && codeforce 724B Batch Sort
- Codeforces 451B Sort the Array
- Codeforces 451B Sort the Array(水题)
- Codeforces 451 B. Sort the Array
- codeforces--652B z-sort(sorting)
- UVA 11292 The Dragon of Loowater
- mysql中创建数据库并授权
- MPI并行计算与矩阵1
- UVA 1421 Archery(二分+维护区间)
- 网站被攻击常见的几种方式
- codeforces 724B Batch Sort
- Java基础复习---字符串
- imread函数、namedWindow函数、imshow函数、imwrite函数
- c小知识
- MyEclipse 2016 CI 1 破解
- 【CF 702E】Analysis of Pathes in Functional Graph(倍增)
- 全栈开发、全能型程序猿养成系列(一)序言
- poj2492A Bug's Life
- 关于java字符串反转的实现