[Day12]Die Game

上一篇介绍了Bangla Numbers,由於数字太大,所以选择使用了BigInteger,但各位也可以选择使用字串方式来写,在判断上都一样,但BigInteger样提前判断,在比判断出来的大小来当作基准来判断。

今天讲解的题目是Die Game
先附上程序码:

import java.util.;
import static java.lang.System.
;
public class main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNextInt()){
int A=1,N=2,E=4,S=5,W=3;
int a=sc.nextInt();
if(a==0) break;
for(int i=0 ;i<a;i++){
String b=sc.next();
if(b.equals("north")){
N=A;
A=S;
S=7-N;
}else if(b.equals("south")){
S=A;
A=N;
N=7-S;
}if(b.equals("east")){
E=A;
A=W;
W=7-E;
}if(b.equals("west")){
W=A;
A=E;
E=7-W;
}
}
System.out.println(A);
}
}
};

这题在练习时有附上中文翻译,所以在题目理解上就比较简单了,题目也有说:[但是你应该要知道一个定律:对一颗骰子而言,相对的2面上的点数和总是等於7],所以只要一个转方向,只需要改变正上方以及相对方位的数字就可以了,只要让转的方向未知的那格改为7-正上方的位子,就可以得出不知道的那格了,假设正上方是1(A)、南是5(S)、北是2(N),往北转一次,就是N=A(1)、
A=S(5)、S=7-N,因为不知道什麽数字转上来,所以使用相对位置和等於7的公式来判断,所以S会变成6。
今天的讲解就到这里。
明天也是新的题目,会介绍Substitution Cypher,继续加油!


<<:  前端工程师也能开发全端网页:挑战 30 天用 React 加上 Firebase 打造社群网站|Day12 文章列表

>>:  Day.4 Two Pointer

学习日记-2

有一小段时间没跟新了XD! 主要是平时都加班,下班去健身房回到家,就只剩1-2小时的学习时间,就慢慢...

追求JS小姊姊系列 Day30 -- 所以姊姊追到哪了?

前情提要: 写了30天关於JavaScript文章,只有一个强烈的感觉: 真的像是在追一个人,而且是...

Day26 用python写UI-聊聊Text(三)

今天的程序码也超长的,因为范例有结合昨天的一起呈现,所以就越加越长了~ ♠♣今天的文章大纲♥♦ 储存...

[Day29] grid 项目对齐属性

如果熟悉 flexbox 的对齐属性,在这边的用法也是大同小异。在 grid 中因为没有主次轴的概念...

Day 21 [Python ML、资料视觉化] 长条图和热度图

设定jupyter notebook import pandas as pd pd.plotting...