zx,ak与骰子
来源:互联网 发布:淘宝链接生成二维码 编辑:程序博客网 时间:2024/04/28 23:30
Description
zx和ak得到了两个骰子,但是骰子的6个面上什么东西都没有,现在zx,ak要玩一个游戏,分别给两个骰子刻字母,每个骰子的上,下,左,右,前,后 分别标记a,b,c,d,e,f 6个字母之一,可以重复,现在如果可以对其中一个骰子通过至多一次操作后使得两个骰子变得完全相同,那么zx赢,否则ak赢。每次操作包括 前倒 或 后倒 或 左倒 或 右倒中的一种情况,完全相同就是指每个对应面上字母全都相同,现在ak,和zx已经在骰子上写好了字,现在由你来写个程序判断一下谁赢。
Input
文件输入包括多组样例,输入到文件结束。每组样例包括两行,第一行是6个字母代表第一个骰子的上,下,左,右,前,后面上的字母。第二行是6个字母代表第二个骰子的上,下,左,右,前,后面上的字母。
Output
每个样例输出包含一行,如果ak赢输出ak,否则输出zx
Sample Input 1
abacabcaababbfbdebecfeab
Sample Output 1
zxak
首先要读懂题意啊.....前倒:往前倒,原前面-->下面、原后面-->上面、原上面-->前面、原下面-->后面;
后倒、左倒、右倒同理。
开一个二维数组p表示需要枚举的方向,有五种(包含不变化的情况)(可顺可逆)
代码:
import java.util.Arrays;import java.util.Scanner;public class zxak与骰子 { static char a[]=new char[10]; static char b[]=new char[10]; static char c[]=new char[10]; static int p[][]={{1,2,3,4,5,6},{5,6,3,4,2,1},{3,4,2,1,5,6},{6,5,3,4,1,2},{4,3,1,2,5,6}};//五个方向,顺时针public static void main(String[] args) {// TODO Auto-generated method stub Scanner scan=new Scanner(System.in); while(scan.hasNext()){ String s1=scan.next(); String s2=scan.next(); for(int i=0;i<6;i++){ a[i]=s1.charAt(i); b[i]=s2.charAt(i); } int i; for(i=0;i<5;i++){ //依次枚举五个方向 for(int j=0;j<6;j++){ c[j]=a[p[i][j]-1]; //将枚举结果暂存数组c } int flag=0; for(int j=0;j<6;j++){ if(c[j]!=b[j]){ //判断是否相等 flag=1;break; } } if(flag==0){System.out.println("zx");break;} } if(i==5)System.out.println("ak"); }} }
阅读全文
0 0
- zx,ak与骰子
- zx
- zx
- ZX
- hm 与 zx 的故事系列1
- hm 与 zx 的故事系列1/2/3
- SOJ-3281 hm与zx的故事系列3
- 骰子
- zx pentest
- zx facetest
- ZX 123
- zx--LTE
- zx-volte
- 趣题:构造骰子使其与两个标准骰子等价
- 百度地图(一)AK申请与给应用签名
- 垒骰子与矩阵快速幂
- AK build
- AK-47
- 微信小程序上传图片+java 后端接收实例
- 为什么人们说Python容易?
- python运行selenium chromedriver提示WebDriverException: 'chromedriver' executable needs to be in PATH.
- [Ubuntu笔记]我的Linux之路--常见问题记录(添加中)
- 在ListView中使用外带字体
- zx,ak与骰子
- linux学习第四十一篇:配置防盗链,访问控制Directory,访问控制FilesMatch
- 剑指offer 编程题(35):链表公共点
- 《深入理解Java虚拟机》笔记
- switch语句的运用
- phpstorm下get方法可用而post方法不可用的解决方法
- 基于BigDecimal的精确计算以及格式化输出代码示例
- jquery的一些骚操作
- 浅谈init-param与context-param区别