kuangbinOJ 1217 Operations on Grids (暴搜)
2015-03-21 23:23
253 查看
题意:
给出一个矩阵,是右一个9位数的每位构成的,现在问通过一些四种操作能得到多少种不同的方案。操作分别为向做转,向右转,上下翻转,左右翻转。
题解:
暴力搜索,对每个排列的状态存入set。答案就是set.size(),比赛的时候一直wa,姿势不对。
给出一个矩阵,是右一个9位数的每位构成的,现在问通过一些四种操作能得到多少种不同的方案。操作分别为向做转,向右转,上下翻转,左右翻转。
题解:
暴力搜索,对每个排列的状态存入set。答案就是set.size(),比赛的时候一直wa,姿势不对。
#include<iostream> #include<math.h> #include<stdio.h> #include<algorithm> #include<string.h> #include<vector> #include<queue> #include<map> #include<set> using namespace std; #define B(x) (1<<(x)) typedef long long ll; void cmax(int& a,int b){if(b>a)a=b;} void cmin(int& a,int b){if(b<a)a=b;} void lcmax(ll& a,ll b){if(b>a)a=b;} void lcmin(ll& a,ll b){if(b<a)a=b;} const int oo=0x3f3f3f3f; const ll OO=1LL<<61; const int MOD=10007; char s[12]; int a[12],b[3][3],t[3][3]; int cnt; set<ll>g; void Init(){ for(int i=0;i<3;i++) for(int j=0;j<3;j++) b[i][j]=s[i*3+j]-'0'; } void change(int op){ for(int i=0;i<3;i++) for(int j=0;j<3;j++) t[i][j]=b[i][j]; if(op==1){ for(int i=0;i<3;i++) for(int j=0;j<3;j++) b[2-j][i]=t[i][j]; }else if(op==2){ for(int i=0;i<3;i++) for(int j=0;j<3;j++) b[j][2-i]=t[i][j]; }else if(op==3){ for(int i=0;i<3;i++) for(int j=0;j<3;j++) b[i][2-j]=t[i][j]; }else{ for(int i=0;i<3;i++) for(int j=0;j<3;j++) b[2-i][j]=t[i][j]; } } ll getS(){ ll x=0; for(int i=0;i<3;i++) for(int j=0;j<3;j++) x=x*10+b[i][j]; return x; } void gao(){ for(int i=0;i<3;i++) for(int j=0;j<3;j++) b[i][j]=s[i*3+j]-'0'; for(int i=0;i<cnt;i++) change(a[i]); g.insert(getS()); } int main(){ //freopen("G:\\read.txt","r",stdin); int T,op; scanf("%d",&T); while(T--){ scanf("%s",s); Init(); cnt=0; for(int i=1;i<=4;i++){ scanf("%d",&op); while(op--)a[cnt++]=i; } g.clear(); do{ gao(); }while(next_permutation(a,a+cnt)); printf("%d\n",g.size()); } return 0; } /** */
相关文章推荐
- kuangbin OJ 1217-- Operations on Grids(YY)(好题)
- How to install a patch on clusterware 11.2.0.1 into grid infrastructure home
- POJ 1942 Paths on a Grid
- POJ 1942 Paths on a Grid 笔记
- Operations on basic server (by Python)
- [论文笔记] An Optimized Control Strategy for Load Balancing Based on Live Migration of Virtual Machine (ChinaGrid, 2011)
- System Operations on AWS - Lab 6W - Using Auto Scaling (Windows)
- Robots on a grid
- HEU 2036 Paths on a Grid
- poj 1942 Paths on a Grid
- a previous program installation created pending file operations on the installation machine
- How to install a patch on clusterware 11.2.0.1 into grid infrastructure home
- poj 1942 Paths on a Grid
- poj 1924 Paths on a Grid(组合数学)
- [二分 单调队列] Atcoder AGC003 E. Sequential operations on Sequence
- A survey on the communication architectures in smart grid(1)
- POJ 3135 Polygons on the Grid 笔记
- 一种实时海水的实现(Impletention of ocean water based on projected grid)
- Operations on word vectors - v2参考答案
- POJ1942 Paths on a Grid (组合数学)