自己的usaco代码---PROB Transformations
2013-08-14 14:31
211 查看
原创代码
仅供参考
欢迎评论O(∩_∩)O~
仅供参考
欢迎评论O(∩_∩)O~
/* 1:顺时针90 2:顺时针180 3:顺时针270 4:镜面 5:镜面后1-3 6:完全一样 7:没办法 */ /* ID: 输你自己的 PROG: transform LANG: C++ */ #include <iostream> #include <cstring> #include <string> #include <cstdio> #include <algorithm> #include <cmath> using namespace std; char a[12][12]; char b[12][12]; char c[12][12]; char d[12][12]; int n; void h1() { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) c[j][n-i+1]=a[i][j]; } void h2() { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) c[n-i+1][n-j+1]=a[i][j]; } void h3() { h2(); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) d[j][n-i+1]=c[i][j]; } void h4() { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) c[i][n-j+1]=a[i][j]; } void h51() { h4(); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) d[j][n-i+1]=c[i][j]; } void h52() { h4(); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) d[n-i+1][n-j+1]=c[i][j]; } void h53() { for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) c[n-j+1][i]=a[i][j]; } int main() { freopen("transform.in","r",stdin); freopen("transform.out","w",stdout); cin>>n; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>a[i][j]; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>b[i][j]; int t; h1(); t=0; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(c[i][j]==b[i][j]) t++; if(t==n*n) {printf("1\n"); exit(0);} t=0; h2(); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(c[i][j]==b[i][j]) t++; if(t==n*n) {printf("2\n"); exit(0);} t=0; h3(); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(d[i][j]==b[i][j]) t++; if(t==n*n) {printf("3\n"); exit(0);} h4(); t=0; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(c[i][j]==b[i][j]) t++; if(t==n*n) {printf("4\n"); exit(0);} h51(); t=0; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(d[i][j]==b[i][j]) t++; if(t==n*n) {printf("5\n"); exit(0);} h52(); t=0; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(d[i][j]==b[i][j]) t++; if(t==n*n) {printf("5\n"); exit(0);} h53(); t=0; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(c[i][j]==b[i][j]) t++; if(t==n*n) {printf("5\n"); exit(0);} t=0; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(a[i][j]==b[i][j]) t++; if(t==n*n) {printf("6\n"); exit(0);} printf("7\n"); return 0; }
相关文章推荐
- 自己的usaco代码---PROB Calf Flac
- 自己的usaco代码---PROB Friday the Thirteenth
- 自己的usaco代码---PROB Dual Palindromes
- 自己的usaco代码---PROB Broken Necklace
- 自己的usaco代码---PROB Name That Number
- 自己的usaco代码---PROB Palindromic Squares
- 自己的usaco代码---PROB Barn Repair
- 自己的usaco代码---PROB Prime Cryptarithm
- JAVA学习(十二)__关于JAVA代码里黄色警告线的注意方法(自己整理)
- 用java代码实现一个自己的栈.
- 自己动手设计代码编辑器——(四)代码智能提示(自动完成功能)
- 《APUE》chapter 16 Network IPC: Sockets 学习笔记(加上自己的代码)
- 用10行代码自己写个人脸识别程序
- 程序员如何才能提高自己?通过一次重构代码讲解自己的感受【有代码比较】
- 在自己网站嵌入各大搜索引擎代码
- 阿里云抢月饼代码实验,自己写着玩的
- 《APUE》chapter 18 Terminal I/O 学习笔记(加上自己的代码)
- 你怎么看待自己的代码被抄袭?
- 发表个asp.net的代码生成工具吧,自己写的,一直在项目中使用的,类似Pet Shop代码格式
- 自己要用的javascript代码