UPC 6760: 九连环

C++实现九连环的解法 源码 包含vs2015的源码包,单个exe程序,和单独的cpp文件。仅为了解法,可以只用exe程序。 立即下载

UPC 6760: 九连环

题目描述

九连环是一种源于中国的传统智力游戏。如图所示,九个圆环套在一把“剑”上,并且互相牵连。游戏的目标是把九个圆环从“剑”上卸下。

圆环的装卸需要遵守两个规则。
第一个(最右边)环任何时候都可以装上或卸下。
如果第k个环没有被卸下,且第k个环右边的所有环都被卸下,则第k+1个环(第k个环左边相邻的环)可以任意装上或卸下。
与魔方的千变万化不同,解九连环的最优策略是唯一的。为简单起见,我们以“四连环”为例,演示这一过程。这里用1表示环在“剑”上,0表示环已经卸下。
初始状态为1111,每部的操作如下:
1101(根据规则2,卸下第2个环)
1100(根据规则1,卸下第1个环)
0100(根据规则2,卸下第4个环)
0101(根据规则1,装上第1个环)
0111(根据规则2,装上第2个环)
0110(根据规则1,卸下第1个环)
0010(根据规则2,卸下第3个环)
0011(根据规则1,装上第1个环)
0001(根据规则2,卸下第2个环)
0000(根据规则1,卸下第1个环)
由此可见,卸下“四连环”至少需要10步。随着环数增加,需要的步数也会随之增多。例如卸下九连环,就至少需要341步。
请你计算,有n个环的情况下,按照规则,全部卸下至少需要多少步。

输入

输入第一行为一个整数m ,表示测试点数目。
接下来m行,每行一个整数n。

输出

输出共m行,对应每个测试点的计算结果。

样例输入

3
3
5
9

样例输出

5
21
341

import java.util.*;
import java.io.*;
import java.math.*;
  
public class Main {
    public static void main(String args[]){
        Scanner cin=new Scanner(System.in);
        BigInteger c=new BigInteger("1024");
        BigInteger d=new BigInteger("341");
        int t=cin.nextInt();
        while(t>0)
        {
            t--;
            BigInteger ans=new BigInteger("1");
            BigInteger x,y;
            int n=cin.nextInt();
            while(n>10)
            {
                n=n-10;
                ans=ans.multiply(c).add(d);
            }
            n--;
            for(int i=0;i<n;i++)
            {
                x=ans.multiply(BigInteger.valueOf(2)).add(BigInteger.ONE);
                y=ans.mod(BigInteger.valueOf(2));
                ans=x.subtract(y);
            }
            System.out.println(ans);
        }
    }
}

 

C++实现九连环(改良版) 做题做到TOJ 3318 Chinese Rings 故此借鉴 Mohrie 的C++递归实现九连环http://download.youkuaiyun.com/source/770975 仍可计算步数、每步操作 可循环输入 以输入0结束 运行环境:Dev-C++ 立即下载

相关推荐

C++递归实现九连环

九连环的解决办法,输出每一步到文件,并且输出步数,大一时做的,比较菜...

6760: 九连环(大数)

6760: 九连环 http://exam.upc.edu.cn/problem.php?id=6760 时间限制: 1 Sec  内存限制: 128 MB 提交: 582  解决: 92 [提交] [状态] [讨论版] [命题人:admin] 题目描述 九连环是一种源于中国的传统智力游戏。如图所示,九个圆环套在一把“剑”上,并且互相牵连。游戏的目标是把九个圆环从“剑”上卸下。 圆环...

一只秀逗__的博客 607

魔板游戏java报告

2010—2011学年度 JAVA GUI课程设计魔板游戏 设计内容 设计GUI界面的魔板游戏程序。 设计要求 魔板由4*4或3*3个方格组成,其中一个格子是空的。对于4*4的魔板,其他格子里随机放置15个编号为1~15的方块;对于3*3的魔板,其他格子里随机放置8个编号为1~8的方块。 用鼠标单击任何与空格子相邻的方块可以把该方块移入空格子。通过不断的移动方块,可以将方块一行一行按数字顺序依次排列。 魔板游戏也可以使用图像来替代数字,对于4*4的魔板,将图像分成4*4个方块,打乱顺序后,放入魔板,并将其中一个方格置为空。最终目标是通过移动方块恢复为原始图像。

HDU2842-Chinese Rings(递推+矩阵快速幂)

题目链接 题意:求出最少步骤解出九连环。取出第k个的条件是,k-2个已被取出,k-1个仍在支架上。 思路:想必九连环都玩过吧,其实最少步骤就是从最后一个环开始,向前一直取出来就行了。所以假设取出前n个环所需要的步骤为f(n),那么在此之前f(n - 2)要被取出,再加上1,即第n个环被取出,所以只剩下第n-1环没被取出,那么我们将前n-2环再套上去(套上去和取下来的步骤是一

懒人一枚。 1079

AST实战:解密Akamai混淆JS代码的完整流程

本文详细解析了如何使用AST技术解密Akamai混淆的JS代码,包括定位关键代码、AST解混淆实战步骤及常见问题解决方案。通过实际案例演示了从混淆代码到清晰逻辑的完整处理流程,并提供了工具推荐和法律合规建议,帮助开发者有效应对反爬虫技术。

weixin_33725722的博客 315

Cartographer纯定位实战:从仿真到真机部署的避坑指南

本文详细介绍了将Cartographer算法应用于机器人纯定位模式的完整实战流程。通过对比传统AMCL方案的不足,阐述了Cartographer基于子图匹配实现高精度、高鲁棒性定位的优势。内容涵盖从仿真环境测试到真机部署的核心步骤,包括关键配置文件修改、源码调整以及参数调优,旨在帮助开发者避开常见陷阱,成功实现稳定可靠的机器人定位系统。

weixin_29063681的博客 251

九连环

许多人一定很熟悉九连环(如下图) 九个环被串在一起,操作规则如下:第一个(右边)环可以任意装卸,如果第k个环没有被卸掉,而第k个环前边(右边)的所有环都被卸掉,则第k+1个环(第k个环左边的环)可以任意装卸(如果存在的话)。 用0表示此换被卸掉,1表示此环没有被卸掉,则九连环的每个状态可以用一个长度为9的二进制串来表示,如:111111001经过一次操作可以变成111111000,也可以变...

nameofcsdn的博客 1万+

COT Buck和普通Buck的区别

传统的电流模控制的调制原理,由时钟脉冲信号 clk 的上升沿触发开始一个新的开关周期,d 由低变高,主开关闭合,流过它的电流和电感电流相等,并以固定斜率逐渐增大,直至 iL *Ri 与斜坡补偿信号 se 的和等于控制信号 vc;此时,比较器的输出电平由低变高,导通时间产生器被触发,其输出 d 由低变高,并产生一个固定的导通时间 Ton;然后 PWM 比较器的输出由低变高,导通时间产生器被触发,主开关闭合,电感电流逐渐增大,直到导通时间产生器计满固定的时间 Ton,d 变为低电平,主开关断开,周期结束。

模拟芯片设计 1128

计算九连环需要多少步解下来的方法

生活中碰到的问题

陌雨’的博客 2456

基于深度强化学习技术优化无线网络中的资源分配(一)DQN部分代码

这是一个GitHub上的开源项目,链接:https://github.com/alexis-anzaldo/Deep-Reinforcement-Learning-for-resource-allocation-in-wireless-networks该项目旨在通过深度强化学习DQL技术优化无线网络中的资源分配,特别关注小型蜂窝和超密集无线蜂窝网络中的功率控制问题,主要目标是提高DRL模型的学习效率和网络吞吐量。

m0_46292040的博客 1537

iPhone用户必看:不装App也能搞定GitHub 2FA验证的3种方法(附恢复码管理技巧)

本文为iPhone用户提供了无需安装第三方App即可完成GitHub双重身份验证(2FA)的三种原生方案:利用相机扫码与iCloud钥匙串自动填充、使用iCloud钥匙串内置的TOTP验证码生成器,以及借助Safari浏览器扩展。文章详细解析了每种方法的操作步骤、适用场景,并重点强调了恢复码的安全管理与多层备份策略,帮助开发者在提升账户安全的同时,享受苹果生态的无缝便捷体验。

weixin_29324401的博客 654

Java递归解决“九连环”公式

在之前有写到过一点点有关递归的东西点击打开链接,然后想到小时候自己玩的一个玩具——九连环。小时候自己曾经一边玩一边用笔记下来解开这个东西的公式,那是十几年前的事情了。前两天突然想起来,九连环的基本操作就是一个递归,一个感觉起来非常标准的递归过程。        九连环的玩法规则用一句话来概括就是:如果你想要卸掉某一环或者装上某一环,只需要保留这一环前面一环,再之前所有的环都卸掉。(例如你想要卸掉或...

ares_xxm的博客 3945

Python爬虫实战:从巨潮网批量抓取上市公司年报JSON数据

网络爬虫作为自动化数据采集的核心技术,其原理是通过模拟浏览器行为向服务器发送HTTP请求并解析响应,从而高效获取结构化信息。在金融数据分析领域,这项技术价值尤为突出,能够将研究人员从繁琐的手工数据收集中解放出来,聚焦于更高阶的模型构建与价值挖掘。典型的应用场景包括上市公司财务研究、市场趋势分析和风险预警系统开发。本文以Python的requests库为核心工具,详细解析如何通过分析巨潮资讯网的JSON数据接口,构建一个稳定、高效的上市公司年报数据采集管道,并重点探讨了接口逆向、分页爬取、PDF文件下载等关键

weixin_42529366的博客 1234

UPC 6760: 九连环(大数迭代)Java

6760: 九连环 时间限制: 1 Sec 内存限制: 128 MB 提交: 584 解决: 93 [提交] [状态] [讨论版] [命题人:admin] 题目描述 九连环是一种源于中国的传统智力游戏。如图所示,九个圆环套在一把“剑”上,并且互相牵连。游戏的目标是把九个圆环从“剑”上卸下。 圆环的装卸需要遵守两个规则。 第一个(最右边)环任何时候都可以装上或卸下。 如果第k个环...

放纵不羁爱自由 387

用Python爬取政府采购信息的实战全流程

以 Playwright 自动采集政府采购信息结构化存储与查询可拓展关键词过滤与通知机制。

2201_76125261的博客 1145

机器人行业面试全攻略:从0到1拿下心仪Offer,看这一篇就够了

【摘要】2026年机器人行业迎来爆发期,全球市场规模超800亿美元,人才争夺激烈。本文针对机器人行业面试提供系统攻略:首先需明确岗位方向、打造差异化标签并了解目标公司;技术面试高频考点包括ROS框架、SLAM导航、运动控制、深度学习和嵌入式系统;项目介绍需采用STAR+R结构并量化成果;行为面试需注意协作能力与职业规划。文章还总结了简历堆砌、单向输出等五大常见误区,强调长期积累与精准准备的重要性,助力求职者把握行业窗口期机会。

郑伟强dev的专栏 190

upc 6760 九连环(大数)

题目描述 九连环是一种源于中国的传统智力游戏。如图所示,九个圆环套在一把“剑”上,并且互相牵连。游戏的目标是把九个圆环从“剑”上卸下。 圆环的装卸需要遵守两个规则。 第一个(最右边)环任何时候都可以装上或卸下。 如果第k个环没有被卸下,且第k个环右边的所有环都被卸下,则第k+1个环(第k个环左边相邻的环)可以任意装上或卸下。 与魔方的千变万化不同,解九连环的最优策略是唯一的。为简单起见,...

eternityZZing的博客 336

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

UPC-6760 Problem H 九连环 【重庆OI2018】等比数列求和&JAVA高精度

题目描述 九连环是一种源于中国的传统智力游戏。如图所示,九个圆环套在一把“剑”上,并且互相牵连。游戏的目标是把九个圆环从“剑”上卸下。 圆环的装卸需要遵守两个规则。 第一个(最右边)环任何时候都可以装上或卸下。 如果第k个环没有被卸下,且第k个环右边的所有环都被卸下,则第k+1个环(第k个环左边相邻的环)可以任意装上或卸下。 与魔方的千变万化不同,解九连环的最优策略是唯一的。为简单起见,...

kuronekonano的博客 438

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java利用while求一等比数列_UPC-6760 Problem H  九连环  【重庆OI2018】等比数列求和&JAVA高精度...

题目描述九连环是一种源于中国的传统智力游戏。如图所示,九个圆环套在一把“剑”上,并且互相牵连。游戏的目标是把九个圆环从“剑”上卸下。圆环的装卸需要遵守两个规则。第一个(最右边)环任何时候都可以装上或卸下。如果第k个环没有被卸下,且第k个环右边的所有环都被卸下,则第k+1个环(第k个环左边相邻的环)可以任意装上或卸下。与魔方的千变万化不同,解九连环的最优策略是唯一的。为简单起见,我们以“四连环”为例...

weixin_35690047的博客 353

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java利用while求一等比数列_UPC-6760 Problem H九连环【重庆OI2018】等比数列求和&JAVA高精度...

题目描述九连环是一种源于中国的传统智力游戏。如图所示,九个圆环套在一把“剑”上,并且互相牵连。游戏的目标是把九个圆环从“剑”上卸下。圆环的装卸需要遵守两个规则。第一个(最右边)环任何时候都可以装上或卸下。如果第k个环没有被卸下,且第k个环右边的所有环都被卸下,则第k+1个环(第k个环左边相邻的环)可以任意装上或卸下。与魔方的千变万化不同,解九连环的最优策略是唯一的。为简单起见,我们以“四连环”为例...

weixin_39684960的博客 405

九连环_装错信封问题及九连环问题的递推关系式以及通项公式的推导(尤其是高中生一定要读)...

错装信封问题的递推关系式本人在高中时已经自悟出来,但是通项公式没有自悟出来,通项公式是一六年时和李化雨兄弟探讨数学时从他那里学来的,不过后来又经过仔细思考,发现通项公式的推导过程中不除以阶乘也一样可以推出同样的结果,只不过不如除以阶乘以后看起来更直观。李化雨兄弟做高中奥数题是个高手,几乎是信手拈来。九连环问题其实更加简单,不过是一个很简单的线性递推关系,只不过比高中常见的数列问题更复杂一步,它可以...

weixin_33971463的博客 1548

Java实现魔板拼图小游戏(完整版)

魔板游戏是一款益智游戏,该游戏有两种形式:一种是由若干个有序不等数字组成,而另一种是由图像组成。人们在将其恢复至最原始的序列而形成完整的排列时,会充分考验玩家的智商,是人们休闲娱乐时可供选择的消遣工具。魔板游戏分为两个级别,用户可以根据自己的水平来选择“初级”或者“高级”,更具灵活性,并且更贴近用户的需求。对于“初级”级别,魔板由 3*3个格子组成,对于“高级”级别,魔板由 4*4 个格子组成。本次项目设计是通过 Java语言编制一个魔板游戏,它是一款经典的智力游戏。.........

陈橘又青的博客 1万+

Java课程设计题目七:魔板游戏

Java课程设计题目七:魔版游戏

菜鸟-宇的个人博客 2557

九连环的递归算法(C和C++)

九连环的递归算法(C和C++) 九连环的递归算法 一、九连环简介 九连环游戏是中国人自己发明的,它的历史非常悠久,据说是起源于战国时期。九连环主要是由一个框架和九个圆环组成:每个圆环上连有一个直杆,而这个直杆则在后面一个圆环内穿过,九个直杆的另一端用一块木板或圆环相对固定。 二、九连环的规律 通过玩九连环你就会发现存在这样一个规律: (1)第 1环可以自由上下 (2)而上/下第 n环

铭毅天下Elasticsearch 1万+

九连环问题(Java)

九连环是一种流传于山西省的传统民间的智力玩具,由九个圆环相连成串,以解开为胜。 九连环的九个环,一环扣一环地套在钗上。除了第 1 号环可以随时装上或卸下以外,其它环装上或卸下的条件是:在它的前面仅有紧靠它那一个环在钗上。即:当第 1 ~ i−2 号环都不在钗上,第 i−1 号环在钗上,这时可以装上或卸下第 i 号环。 输入格式 环数 操作(U表示装上, D表示卸下) 输出格式 ...

l870358133的博客 1937

基于汇编实现的九连环递归算法及其拓展

九连环是中国最杰出的益智游戏。长期以来,这个益智游戏是数学家及现代的电子计算机专家们用于教学研究的课题和例子。九连环以金属丝制成9个圆环,将圆环套装在横板或各式框架上,并贯以环柄。把玩时,按照一定的程序反复操作,可使9个圆环分别解开,或合二为一。从完整状态解下所有九个环一般需要解341步。在解九连环的过程中间,只有两个规则可循。并且这两个规则在游戏中交替使用:规则一:第一环可以在任何时候放上或取下环柄。规则二:只有紧跟在领头环后的环可以放上或取下环柄。(领头环是套在柄上的最前面的环)如果所有的环都在柄上,那

毕业作品网站 1199
上一篇: UPC 6615: Snuke Festival
下一篇: HDU-6425 Rikka with Badminton(快速幂)
进阶的萌新
博客等级 码龄9年 5粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值