Codeforces 724B 暴力模拟
2016-10-09 00:28
429 查看
题意:
你可以将每行中的两个元素交换一次,还有整列交换两列的机会一次。
思路:
先判断是否要交换两列,如果每行最多2个不在相应位置上的数,就直接YES
否则,
暴力枚举交换两列后,看每行是否满足要求。
你可以将每行中的两个元素交换一次,还有整列交换两列的机会一次。
思路:
先判断是否要交换两列,如果每行最多2个不在相应位置上的数,就直接YES
否则,
暴力枚举交换两列后,看每行是否满足要求。
#include<bits/stdc++.h> using namespace std; #define mod 1000000007 #define PI acos(-1.0) #define INF 0x3f3f3f3f typedef long long LL; typedef unsigned long long ULL; using namespace std; int a[50][50],n,m,i,j,k; bool check() { int i,j,k; for(i=1;i<=n;i++) { for(j=1,k=0;j<=m;j++)if(a[i][j]!=j)k++; if(k>2)return 0; } return 1; } int main() { cin>>n>>m; for(i=1;i<=n;i++)for(j=1;j<=m;j++)cin>>a[i][j]; if(check()) { puts("YES"); return 0; } for(i=1;i<m;i++)for(j=i+1;j<=m;j++) { for(k=1;k<=n;k++)swap(a[k][i],a[k][j]); if(check()) { puts("YES"); return 0; } for(k=1;k<=n;k++)swap(a[k][i],a[k][j]); } puts("NO"); return 0; }
相关文章推荐
- CodeForces 589B-Layer Cake-暴力模拟
- Codeforces--629A--Far Relative’s Birthday Cake(暴力模拟)
- CodeForces 144C Anagram Search(暴力模拟)
- Codeforces 166C Median 暴力模拟
- Codeforces - 887D Ratings and Reality Shows (暴力模拟)
- Codeforces 725E Too much money (暴力模拟)
- CodeForces 615C Running Track【暴力模拟】
- Codeforces 915C Permute Digits(模拟,暴力)
- CodeForces 724B(暴力枚举)
- codeforces 724B 暴力+枚举
- CodeForces - 825B Five-In-a-Row (暴力模拟)
- CodeForces 832B Round #425 Div2 B Petya and Exam:双指针暴力模拟
- Codeforces 791A Bear and Big Brother(暴力枚举,模拟)
- codeforces 900B. Position in Fraction(暴力+模拟)
- codeforces - 508A - Pasha and Pixels(暴力模拟)
- Codeforces 758C Unfair Poll 暴力模拟
- CodeForces - 400E(模拟+线段树或暴力)
- Codeforces 426 B Sereja and Mirroring【暴力枚举+模拟】水题
- codeforces-16A-A. Flag (C && 简单模拟 && 暴力农夫山泉)
- codeforces 732D 模拟暴力