- 浏览: 37781 次
- 性别:
- 来自: 北京
最新评论
-
andyshar:
请问如何在现有的hadoop环境中安装?
Hadoop集群监控系统Ambari安装 -
qingtangpaomian:
失败123 写道您好楼主: 我装好之后为啥老是最后一 ...
Hadoop集群监控系统Ambari安装 -
失败123:
您好楼主: 我装好之后为啥老是最后一步Cluster ...
Hadoop集群监控系统Ambari安装
转载请注明出处
摘要:枚举
一. 题目翻译
1. 描述:
一块N x N(1<=N<=10)正方形的黑白瓦片的图案要被转换成新的正方形图案。写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式:
1:转90度:图案按顺时针转90度。
2:转180度:图案按顺时针转180度。
3:转270度:图案按顺时针转270度。
4:反射:图案在水平方向翻转(以中央铅垂线为中心形成原图案的镜像)。
5:组合:图案在水平方向翻转,然后再按照1到3之间的一种再次转换。
6:不改变:原图案不改变。
7:无效转换:无法用以上方法得到新图案。
如果有多种可用的转换方法,请选择序号最小的那个。
2. 格式:
PROGRAM NAME: transform
INPUT FORMAT:
(file transform.in)
第一行: 单独的一个整数N。
第二行到第N+1行: N行每行N个字符(不是“@”就是“-”);这是转换前的正方形。
第N+2行到第2*N+1行: N行每行N个字符(不是“@”就是“-”);这是转换后的正方形。
OUTPUT FORMAT:
(file transform.out)
单独的一行包括1到7之间的一个数字(在上文已描述)表明需要将转换前的正方形变为转换后的正方形的转换方法。
SAMPLE INPUT:
3@-@---@@-@-@@----@
SAMPLE OUTPUT:
1
二. 题解
1. 题意理解(将问题分析清楚,大致用什么思路):
这道题目一共只有9种情况,直接枚举所有情况,然后判断当前图案是否和目标图案相同即可。我的程序写的相对较笨,用了9个boolean的标志位标示每种情况是否满足(初始值都满足,有一位不满足对应关系则赋值false,下一位判断时这种情况就可以直接跳过了),输出的时候按顺序依次判断如果为真则输出。
2. 需要注意的细节:
注意每种情况翻转后与未翻转的字符对应关系。eg:第一种情况src[i][j]与src[num - j - 1][i](注意这里的num对应题目中单行最大字符数N)。
三. 代码package session_1_2_2;
import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.PrintWriter; import java.util.Scanner; public class transform { /** * @param args */ public static void main(String[] args) { try { Scanner in = new Scanner(new BufferedReader(new FileReader( "F:\\UCASO\\temp\\transform.in"))); PrintWriter pw = new PrintWriter(new FileWriter( "F:\\UCASO\\temp\\transform.out")); int num = Integer.parseInt(in.nextLine()); char src[][] = new char[num][num]; boolean s1 = true, s2 = true, s3 = true, s4 = true, s51 = true, s52 = true, s53 = true, s6 = true; for (int i = 0; i < num; i++) { String line = in.nextLine(); for (int j = 0; j < num; j++) { src[i][j] = line.charAt(j); } } for (int i = 0; i < num; i++) { String line = in.nextLine(); for (int j = 0; j < num; j++) { char target = line.charAt(j); if (s1) { if (target == src[num - j - 1][i]) { s1 = true; } else { s1 = false; } } if (s2) { if (target == src[num - i - 1][num - j - 1]) { s2 = true; } else { s2 = false; } } if (s3) { if (target == src[j][num - i - 1]) { s3 = true; } else { s3 = false; } } if (s4) { if (target == src[i][num - j - 1]) { s4 = true; } else { s4 = false; } } if (s51) { if (target == src[j][i]) { s51 = true; } else { s51 = false; } } if (s52) { if (target == src[num - i - 1][j]) { s52 = true; } else { s52 = false; } } if (s53) { if (target == src[num - j - 1][num - i - 1]) { s53 = true; } else { s53 = false; } } if (s6) { if (target == src[i][j]) { s6 = true; } else { s6 = false; } } } } if (s1) { pw.println("1"); } else if (s2) { pw.println("2"); } else if (s3) { pw.println("3"); } else if (s4) { pw.println("4"); } else if (s51 || s52 || s53) {//要注意输出5的话有3种情况 pw.println("5"); } else if (s6) { pw.println("6"); } else { pw.println("7"); } pw.close(); in.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
发表评论
-
USACO - 3.2.2 - Stringsobits
2012-08-23 16:02 810原创文章转载请注明 ... -
USACO - 3.2.1 - Factorials
2012-08-23 16:01 702原创文章转载请注明出处 摘要:动态规划 ... -
USACO - 3.1.6 - Stamps
2012-08-23 16:01 1038原创文章转载请注明 ... -
USACO - 3.1.5 - Contact
2012-08-23 16:01 913原创文章转载请注明出处 摘要:二叉树的应用 , ... -
USACO - 3.1.3 - Humble Numbers
2012-08-23 16:00 716原创文章转载请注明 ... -
USACO - 3.1.2 - Score Inflation
2012-08-22 10:05 907原创文章转载请注明出处 摘要:动态规划 ... -
USACO - 3.1.1 - Agri-Net
2012-08-22 10:04 858原创文章转载请注明出处 摘要:Prim算法 , ... -
USACO - 2.4.5 - Fractions to Decimals
2012-08-22 10:04 962原创文章转载请注明出处 摘要:模拟 , 数论 ... -
USACO - 2.4.4 - Bessie Come Home
2012-08-22 10:04 909原创文章转载请注明出处 摘要:Dijkstra ... -
USACO - 2.4.2 - Overfencing
2012-08-22 10:03 1005原创文章转载请注明 ... -
USACO - 2.4.1 - The Tamworth Two
2012-08-21 10:37 720原创文章转载请注明出处 摘要:模拟 ... -
USACO - 2.3.5 - Controlling Companies
2012-08-21 10:37 1305原创文章转载请注明出处 摘要:BFS , 模拟 ... -
USACO - 2.3.4 - Money Systems
2012-08-21 10:37 869原创文章转载请注明 ... -
USACO - 2.3.3 - Zero Sum
2012-08-21 10:36 746原创文章转载请注明出处 摘要:dfs , 枚举 ... -
USACO - 2.3.2 - Cow Pedigrees
2012-08-21 10:36 1010原创文章转载请注明 ... -
USACO - 2.3.1 - Longest Prefix
2012-08-20 20:31 1042原创文章转载请注明 ... -
USACO - 2.2.4 - Party Lamps
2012-08-20 20:30 1212原创文章转载请注明出处 摘要:枚举,三星 ... -
USACO - 2.2.3 - Runaround Numbers
2012-08-20 20:30 659原创文章转载请注明 ... -
USACO - 2.2.2 - Subset Sums
2012-08-20 20:30 696原创文章转载请注明出处 摘要:动态规划 ,0- ... -
USACO - 2.2.1 - Preface Numbering
2012-08-20 20:29 892原创文章转载请注明出处 摘要:模拟 , 数学分析 ...
相关推荐
USACO题目,Greedy Gift Givers
此c++代码实现了USACO上Bessie Come Home的问题,并运用了弗洛伊德算法
此C++程序是实现了USACO网站上的Magic Squares的问题。
该题来自USACO,为最长串的查找,此处方法很笨,有更好方法
USACO chapter one.May hope it useful to someone
USACO题目Transformations(方块转换)及代码解析
USACO chapter two.Useful for beginners.
usaco 上的题目barn1,beads,calfflac,可到那里查看具体题目
Notes-USACO-2021-弹簧
USACO-Cpp
C-Usaco-Work:Usaco在C中的工作
USACO-实践USACO 培训网站的工作实践代码! 100% 工作 - 大部分优化 - 混合语言
这是USACO2001-2007月赛全集。 usaco是美国中学生的官方竞赛网站。是美国著名在线题库,专门为信息学竞赛选手准备。推荐直接阅读英语原文,既准确可靠又可提高英语水平。做题方式模拟正式比赛,采用标准测评机、文件...
资源包包括USACO 2001-2007年月赛的测试数据;usaco月赛十年题典(2000-2009),usaco月赛2002-2008题解。单独下载需资源分30分以上。为了方便编程爱好者,我这边统一下载打包。欢迎下载。
usaco 2010-2011 nov news,喜欢usaco的朋友可以看看
USACO培训网站 我为章节解决方案。 每个文件的多行USACO标识信息注释 第1章全部的解决方案 第2章全部的解决方案
USACO-TurtleCamera 该存储库包含我对USACO问题的所有解决方案。 CSE 199工作区目录将是我用来帮助开发USACO课程的主要目录。
我的USACO题解和程序
#include using namespace std; int n; int ans; char a[15][15], b[15][15],c[15][15]; void p() { cout ; for(int i=1; i; i++) { for(int j=1;...[USACO 1.2.2]方块转换答案 想要完整思路请关注+私信
Java中的USACO金问题 YYMM 姓名 文件夹 笔记 代码 1812 美食 1812 牛适应性 1812 团队合作