骰子涂色(Cube painting, UVa 253)rust解法

这篇具有很好参考价值的文章主要介绍了骰子涂色(Cube painting, UVa 253)rust解法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

输入两个骰子,判断二者是否等价。每个骰子用6个字母表示,如图4-7所示。
骰子涂色(Cube painting, UVa 253)rust解法,rust题解,rust,开发语言,后端例如rbgggr和rggbgr分别表示如图4-8所示的两个骰子。二者是等价的,因为图4-8(a)所示的骰子沿着竖直轴旋转90°之后就可以得到图4-8(b)所示的骰子。
骰子涂色(Cube painting, UVa 253)rust解法,rust题解,rust,开发语言,后端
样例:

rggbgr
rbgggr
same

解法:文章来源地址https://www.toymoban.com/news/detail-722842.html

use std::io;

/*
  1
3 2 4 5         1在顶上
  6

  2
3 6 4 1         2在顶上
  5

  3
5 6 2 1			3在顶上
  4

  4
2 6 5 1			4在顶上
  3

  5
4 6 3 1			5在顶上
  2

  6
3 5 4 2			6在顶上
  1

上面每种,都要沿竖轴旋转4次,所以一共24种情况
*/
fn main() {
    let mut buf = String::new();
    io::stdin().read_line(&mut buf).unwrap();
    let s = buf.trim().to_string();
    let mut buf = String::new();
    io::stdin().read_line(&mut buf).unwrap();
    let t = buf.trim().to_string();
    let orders = [
        [1, 2, 3, 4, 5, 6],
        [2, 6, 3, 4, 1, 5],
        [3, 6, 5, 2, 1, 4],
        [4, 6, 2, 5, 1, 3],
        [5, 6, 4, 3, 1, 2],
        [6, 5, 3, 4, 2, 1],
    ];
    for i in 0..6 {
        let mut order = orders[i];
        for _ in 0..4 {
            let mut newt = String::new();
            order = rotate(order);
            for j in 0..6 {
                let c = t.chars().nth(order[j] - 1).unwrap();
                newt.push(c);
            }
            if s == newt {
                println!("same");
                return;
            }
        }
    }
    println!("not same");
}
//沿着竖轴旋转
fn rotate(order: [usize; 6]) -> [usize; 6] {
    let mut neworder = order;
    neworder[2 - 1] = order[3 - 1];
    neworder[3 - 1] = order[5 - 1];
    neworder[4 - 1] = order[2 - 1];
    neworder[5 - 1] = order[4 - 1];
    return neworder;
}

到了这里,关于骰子涂色(Cube painting, UVa 253)rust解法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ​LeetCode解法汇总253. 重构 2 行二进制矩阵

    https://github.com/September26/java-algorithms 给你一个  2  行  n  列的二进制数组: 矩阵是一个二进制矩阵,这意味着矩阵中的每个元素不是  0  就是  1 。 第  0  行的元素之和为  upper 。 第  1  行的元素之和为  lower 。 第  i  列(从  0  开始编号)的元素之和为  colsum[i] ,

    2024年02月11日
    浏览(49)
  • UVA378 Intersecting Lines 题解

    怎么这么多点斜式邪教啊。 在计算几何中,我们应该尽可能地避免使用浮点数的计算,尽可能地使用向量计算。 本篇题解默认读者具有向量基础。 为了方便讲解,我们将输入的四个点分别记作 A , B , C , D A,B,C,D A , B , C , D 。 考虑两条直线 A B , C D AB,CD A B , C D 何时平行。根据

    2024年04月09日
    浏览(57)
  • UVA12538 Version Controlled IDE 题解 crope

    维护一种数据结构,资磁三种操作。 1.在p位置插入一个字符串s 2.从p位置开始删除长度为c的字符串 3.输出第v个历史版本中从p位置开始的长度为c的字符串 1 ≤ n ≤ 50000 1 leq n leq 50000 1 ≤ n ≤ 50000 ,所有字符串总长度小于等于 1 0 6 10^6 1 0 6 ,输出字符串总长度小于等于 2000

    2024年04月13日
    浏览(42)
  • UVA908[Re-connecting Computer Sites]题解

    原题 题意就是给你很多组数,对于每组数,有三组小数据。第一组小数据先输入一个n表示顶点数,然后再输入n-1条边表示初始边数。其它组小数据先输入一个数k,表示增加的边的数量,然后再输入k条边,表示增加的边。在输入第二组小数据时,要先把边清空,重新输入,但

    2024年02月11日
    浏览(64)
  • 题解 | #上台阶#C++暴力动态规划解法,非递归

    25届想找实习求看看简历 英伟达笔试 Nvidia24秋招 英伟达嵌入式软件工程师笔试 9-26 2022-08-17-nvidia实习 我发现算法岗也不很难进啊(深度学习) 我发现算法岗也不很难进啊(深度学习) 顺丰科技 1.30校招实习招聘信息汇总 2024春招汇总 『 哨哥的校园招聘周报 』02/05 - 02/18 深圳银河创

    2024年02月21日
    浏览(39)
  • 【算法题解】23. 「滑动窗口最大值」单调队列解法

    这是一道 困难 题 题目来自:https://leetcode.cn/problems/sliding-window-maximum/ 给你一个整数数组 nums ,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 示

    2023年04月11日
    浏览(54)
  • iOS开发Swift-5-自动布局AutoLayout-摇骰子App

    1.在iOS坐标系中,以向左、向下为正方向。图片以左上角为基准点。  2.打开之前的摇骰子App,对它的界面做一些适应所有iPhone机型的效果。  3.先对上方logo做一个y轴约束和一个宽高约束。 宽高约束:  水平居中:  对y轴进行约束。将虚线点击变红色实线,表示固定相邻视图

    2024年02月10日
    浏览(43)
  • iOS开发Swift-3-UI与按钮Button-摇骰子App

    1.创建新项目Dice  2.图标  删去AppIcon,将解压后的AppIcon.appiconset文件拖入Assets包。  3.将素材点数1-6通过网页制作成2x,3x版本并拖入Asset。  4.设置对应的UI。  5.拖入Button组件并设置style。  6.Ctrl加拖拽将Button拖拽到ViewController里,并设置Connection,Name等,并点击Connect。  同样

    2024年02月11日
    浏览(51)
  • STM32FreeRTOS任务通知(STM32cube高效开发)

    1、任务通知可模拟队列和信号量 任务通知是FreeRTOS另外一种进程间通信技术。不需要创建任何中间对象,可以直接从任务向任务或ISR向任务发送通知,传递一个通知值任务通知可以模拟二值信号量、计数信号量、或长度为1的消息队列,使用任务通知,一般效率更高,消耗内

    2024年03月13日
    浏览(49)
  • 【STM32Cube开发记录】1-下载和安装STM32CubeIDE

    【STM32Cube开发记录】1-下载和安装STM32CubeIDE 【STM32Cube开发记录】2-STM32CubeProgrammer的使用 【STM32Cube开发记录】3-STM32CubeMX的使用 【STM32Cube开发记录】4-标准库 HAL库 LL库 【STM32Cube开发记录】5-寄存器和存储器映射 【STM32Cube开发记录】6-STM32核心功能 【STM32Cube开发记录】7-Debug调试功

    2024年01月17日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包