usaco 1.22
来源:互联网 发布:手机4g网络怎么加速 编辑:程序博客网 时间:2024/06/05 23:01
简单的枚举,一开始看了一下觉得和以前的魔板差不多,果断开始广搜,结果发现每个操作仅能一次,审题啊。。
1-5之间有联系,转4个90度就相当于转回来。。
/* ID: zhangw31PROG: transformLANG: C++*/#include <iostream>#include <cstdio>#include <fstream>using namespace std;const int MAXN = 11;int N, ans;char pattern[MAXN][MAXN];char target[MAXN][MAXN];char change[MAXN][MAXN];void clockwiserot() {for (int i = 0; i < N; ++i) {for (int j = 0; j < N; ++j) {change[j][N-i-1] = pattern[i][j];}}for (int i = 0; i < N; ++i) {for (int j = 0; j < N; ++j) {pattern[i][j] = change[i][j];}}}void refle() {for (int i = 0; i < N; ++i) {for (int j = 0; j < N; ++j) {change[i][N-j-1] = pattern[i][j];}}for (int i = 0; i < N; ++i) {for (int j = 0; j < N; ++j) {pattern[i][j] = change[i][j];}}}bool checkOK() {for (int i = 0; i < N; ++i) {for (int j = 0; j < N; ++j) {if (pattern[i][j] != target[i][j]) {return false;}}}return true;}void testRotate(int a) {if (checkOK() && a < ans) ans = a;}int main() {ifstream fin("transform.in");ofstream fout("transform.out");fin >> N;for (int i = 0; i < N; ++i) fin >> pattern[i];for (int i = 0; i < N; ++i) fin >> target[i];ans = 7;testRotate(6);for (int i = 1; i <= 3; ++i) {clockwiserot();testRotate(i);}clockwiserot();refle();testRotate(4);for (int i = 0; i < 3; ++i) {clockwiserot();testRotate(5);}fout << ans << endl;}
0 0
- usaco 1.22
- USACO
- USACO
- usaco
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- USACO
- 使用Rails实现文件上传
- Java第四课
- powerdesigner,建立好模型后,怎么导出sql脚本
- 【Qt编程】Qt学习笔记<一>
- How to Modify Private Network Information in Oracle Clusterware (文档 ID 283684.1)
- usaco 1.22
- HDU2476 String painter 区间DP
- Nyoj-61 传纸条(一)(双线dp)
- PAT 1037. Magic Coupon (25)
- 第二学期第一周项目2--胖子的烦恼
- 关于map task、reduce task和hdfs块大小的理解
- 日期结构体
- struts2基础(续)
- uva 993 - Product of digits