USACO 1.2 Transformations (模拟)
来源:互联网 发布:可以买药送药的软件 编辑:程序博客网 时间:2024/06/11 03:34
模拟题目,按照题目给定的要求变换图形即可,变换的优先级依次减小。这个题目我写的很乱。不过最还还是勉强可以运行
/* ID:twd30651 PROG:transform LANG:C++*/#include<iostream>#include<fstream>#include<stdlib.h>#include<string.h>using namespace std;#define MAX 10char a[MAX][MAX];char b[MAX][MAX];char c[MAX][MAX];char t[MAX][MAX];int N;int flag=0;int check(){ for(int i=0;i<N;++i) for(int j=0;j<N;++j) { if(b[i][j]!=t[i][j])return 0; } return 1;}void do1(char a[][MAX],char b[][MAX],int f)//f是个标志,标志是第五个操作调用的,还是直接调用的{ for(int i=0;i<N;++i) for(int j=0;j<N;++j) { b[j][N-i-1]=a[i][j]; } if(!f&&check()){printf("1\n"); flag=1; }}void do2(char a[][MAX],char b[][MAX],int f)//同理{ for(int i=0;i<N;++i) for(int j=0;j<N;++j) { b[N-i-1][N-j-1]=a[i][j]; } if(!f&&check()){ printf("2\n"); flag=1; }}void do3(char a[][MAX],char b[][MAX],int f)//同理{ for(int i=0;i<N;++i) for(int j=0;j<N;++j) { b[N-j-1][i]=a[i][j]; } if(!f&&check()){ printf("3\n"); flag=1; }}void do4(char a[][MAX],char b[][MAX]){ for(int i=0;i<N;++i) for(int j=0;j<N;++j) { b[i][N-j-1]=a[i][j]; } if(check()){ printf("4\n"); flag=1; }}void do5(char a[][MAX],char b[][MAX]){ do4(a,c); for(int i=0;i<3;++i) { if(i==0) { do1(c,b,1); if(check()){printf("5\n"); flag=1; } } else if(i==1) { do2(c,b,1); if(check()){printf("5\n"); flag=1;} } else { do3(c,b,1); if(check()){printf("5\n"); flag=1;} } }}void do6(char a[][MAX],char b[][MAX]){ for(int i=0;i<N;++i) for(int j=0;j<N;++j) { b[i][j]=a[i][j]; } if(check()) { printf("6\n"); flag=1; }}int main(int argc,char *argv[]){ freopen("transform.in","r",stdin); freopen("transform.out","w",stdout); memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); scanf("%d",&N); for(int i=0;i<N;++i) scanf("%s",a[i]); for(int i=0;i<N;++i) scanf("%s",t[i]); for(int i=1;i<=7;++i) { switch(i) { case 1: if(flag==0) do1(a,b,0); break; case 2: if(flag==0) do2(a,b,0); break; case 3: if(flag==0) do3(a,b,0); break; case 4: if(flag==0) do4(a,b); break; case 5: if(flag==0) do5(a,b); break; case 6: if(flag==0) do6(a,b); break; case 7: if(flag==0) printf("7\n"); break; } } return 0;}
0 0
- USACO 1.2 Transformations(模拟)
- usaco 1.2 Transformations(模拟)
- USACO 1.2 Transformations (模拟)
- USACO 1.2.2 Transformations(模拟)
- 【USACO-Chapter1-1.2】【模拟】Transformations
- Transformations(模拟)(USACO)
- usaco Transformations 模拟模拟模拟 ,惨不忍睹
- USACO 1.2 Transformations (用结构体来模拟)
- Usaco 1.2.2 方块变换(Transformations)
- USACO 1.2.2 Transformations
- USACO 1.2-Transformations
- usaco 1.2:Transformations
- USACO 1.2 Transformations
- USACO Section 1.2 Transformations
- [USACO 1.2.2] Transformations
- USACO 1.2.2 Transformations
- USACO 1.2.2 Transformations
- USACO 1.2.2 Transformations
- 64位CentOS 6.2下安装Zabbix 2.0.6
- Python filter、map、reduce、lambda
- 波特率 比特率
- cocos2d-x中用到的一些宏
- percona xtradb cluster安装
- USACO 1.2 Transformations (模拟)
- jackson2
- 在sublime上配置git
- 自己写bootloader(5)——命令的实现
- 创建表空间
- nohup不使用nohup.out运行
- 多重排列
- 第11周 项目六 (2)判断是否为回文数
- js+ canvas 实现人物走动