华为OD机试 - 转骰子
题目描述
骰子是一个立方体,每个面一个数字,初始为左1,右2,前3(观察者方向),后4,上5,下6,用123456表示这个状态,放置在平面上,
- 可以向左翻转(用L表示向左翻转1次),
- 可以向右翻转(用R表示向右翻转1次),
- 可以向前翻转(用F表示向前翻转1次),
- 可以向后翻转(用B表示向后翻转1次),
- 可以逆时针旋转(用A表示逆时针旋转90度),
- 可以顺时针旋转(用C表示顺时针旋转90度),
现从123456这个初始状态开始,根据输入的动作序列,计算得到最终的状态。
骰子的初始状态和初始状态转动后的状态如图所示。
输入描述
输入一行,为只包含LRFBAC的字母序列,最大长度为50,字母可重复。
输出描述
输出最终状态
用例
输入 | L R |
输出 | 123456 |
说明 | 无 |
输入 | F C R |
输出 | 342156 |
说明 | 无 |
题目解析
本题感觉就是一道耗时题,考察细心程度的。具体的逻辑反而不是很难。
具体逻辑请看源码。
算法源码
/* JavaScript Node ACM模式 控制台输入获取 */
const readline = require("readline");const rl = readline.createInterface({input: process.stdin,output: process.stdout,
});rl.on("line", (line) => {const directives = line.split(" ");turnDice(directives);
});function turnDice(directives) {const dice = new Dice();directives.forEach((directive) => {switch (directive) {case "L":dice.turnL();break;case "R":dice.turnR();break;case "F":dice.turnF();break;case "B":dice.turnB();break;case "A":dice.turnA();break;case "C":dice.turnC();break;}});dice.print();
}class Dice {constructor() {this.left = 1;this.right = 2;this.front = 3;this.back = 4;this.top = 5;this.bottom = 6;}turnL() {// 前后不变,上变左,左变下,下变右,右变上let tmp = this.right;this.right = this.bottom;this.bottom = this.left;this.left = this.top;this.top = tmp;}turnR() {// 前后不变,上变右,右变下,下变左,左变上let tmp = this.left;this.left = this.bottom;this.bottom = this.right;this.right = this.top;this.top = tmp;}turnF() {// 左右不变,上变前,前变下,下变后,后变上let tmp = this.front;this.front = this.top;this.top = this.back;this.back = this.bottom;this.bottom = tmp;}turnB() {// 左右不变,前变上,上变后,后变下,下边前let tmp = this.top;this.top = this.front;this.front = this.bottom;this.bottom = this.back;this.back = tmp;}turnA() {// 上下不变, 前变右,右变后,后变左,左变前let tmp = this.right;this.right = this.front;this.front = this.left;this.left = this.back;this.back = tmp;}turnC() {// 上下不变, 右变前,前变左,左变后,后变右let tmp = this.front;this.front = this.right;this.right = this.back;this.back = this.left;this.left = tmp;}print() {let { left, right, front, back, top, bottom } = this;console.log(`${left}${right}${front}${back}${top}${bottom}`);}
}
华为OD机试 - 转骰子相关推荐
- 华为OD机试 - 最优资源分配(Python) | 机试题算法思路 【2023】
最近更新的博客 华为OD机试 - 自动曝光(Python) | 机试题算法思路 [2023] 华为OD机试 - 双十一(Python) | 机试题算法思路 [2023] 华为OD机试 - 删除最少字符 ...
- 【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南
本篇博客为大家系统全面的介绍华为 od 机试所有内容,其包括如下知识点. 华为 od 机试题目 华为 od 机试流程 华为 od 机试题型分析 华为 od 机试经验分享 华为 od 机试常见问题解答 ...
- 华为OD机试 - 员工出勤(Python) | 机试题算法思路 【2023】
最近更新的博客 华为OD机试 - 自动曝光(Python) | 机试题算法思路 [2023] 华为OD机试 - 双十一(Python) | 机试题算法思路 [2023] 华为OD机试 - 删除最少字符 ...
- 华为OD机试真题2022(JAVA)
华为机试题库已换 →→→ 华为OD机试2023B卷(JAVA&JS) 以下题目为旧版题库,供大家课外消遣 基础题: 序号 题目 分值 1 查找众数及中位数 100 2 出错的或电路 100 3 ...
- 【华为OD机试】-2023(A+B卷)真题【C++,JAVA,Python】
考点分类:华为OD机试真题(2023)-考点分类 近期考题:华为OD机试 真题2023 Q1 (A卷) c++/python/java专栏:华为OD机试(Python,Java,C++)2023(A+ ...
- 用C++解决华为OD机试考题,是真的高效,真的强,来吧,清单奉上,祝你上岸
华为OD机考大纲 其它语言版本 华为 OD 机试题清单(机试题库还在逐日更新) 详细大纲 其它语言版本 本目录为华为od机试JS题解目录,其它版本清单如下 ⭐️华为OD机考 Python https: ...
- 华为OD机试 - 最短耗时(C++) | 附带编码思路 【2023】
刷算法题之前必看 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高. 华为 OD 清单查看地址:https://blog.csdn.net/hihell/categor ...
- 华为OD机试真题大全完整目录
华为OD机试真题大全完整目录 专栏说明如下 专栏目录 专栏说明如下 内容:华为OD机试真题大全 数量:406篇博文(2023年5月16日截止) 更新时间至:2023年5月16日(后续加上去的博文,会每 ...
- 【华为OD机试真题 Python】判断字符串子序列
前言:本专栏将持续更新华为OD机试题目,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你.关于OD机试流程.面经.面试指导等,如有任何疑问,欢迎联系我,wechat:steven ...
最新文章
- PostgreSQL 10.1 手册_部分 III. 服务器管理_第 21 章 数据库角色_21.4. 删除角色
- javascript生成指定范围的随机整数
- WOC?老板让我从Word中复制出1000张图片?
- 前端学习(2890):如何短时间内实现v-for 模板编译321
- 作者:刘建楠(1963-),男,就职于中国石油庆阳石化公司
- JavaScript的理解记录(6)
- 厦门大学计算机学硕复试,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...
- (8)FPGA面试题触发器满足建立时间和保持时间的原因
- postman提交文件及get、post请求
- 说文解字 —— 拆字
- C++primer笔记之顺序容器
- 机器学习:matlab实现异常检测
- 高频JMeter软件测试面试题
- linux学习--体验免安装版本的linux
- 中国大陆身份证号码有效性验证
- 加百列丨浅谈大水面水产养殖的几个误区及对策
- Python ---太空射击游戏
- 外汇交易提醒 ,美元升势停不下来?
- ICC2 user guide(四)Routing and Postroute Optimization
- Qt 笔锋 毛笔 钢笔 蜡笔 4k流畅画笔 Demo
热门文章
- 2019 CCPC秦皇岛 J 题 MUV LUV EXTRA【KMP 求最小循环节】
- Node.js v13 window7
- UE4-(蓝图)实现昼夜交替
- 计算某年某月某日是星期几
- SSL漏洞 443端口 nginx 重新编译指定ssl版本
- python实现十进制转换成十六以内任意进制
- 思科服务器网关配置文件,对 Syslog 服务器与 Cisco IOS 网关的 CDR 登录配置
- C#学习系列之未经处理的异常1——System.IO.FileNotFoundException
- 何苦做游戏-- 一位网游制作人的成长故事
- java web开发房屋中介房屋出租信息网