工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 2397|回复: 13

绝对难题!!!!

[复制链接]
发表于 2007-4-9 20:32 | 显示全部楼层 |阅读模式
n个盒子被放成一圈,每个盒子按顺时针编号为1到n,每个盒子里都有一些球,且各个盒子里球的总数不超过n。这些球要按如下的方式转移:每一步可以将一个球从盒子中取出,放入一个相邻的盒子中。目标是用尽量少的移动使得所有的盒子中球的个数都不超过1。

(编程语言不限)
发表于 2007-4-9 21:08 | 显示全部楼层
最好给出几个输入输出的例子啦~~~
回复

使用道具 举报

 楼主| 发表于 2007-4-9 22:23 | 显示全部楼层
各位,有点头绪了没有,救命的啊
回复

使用道具 举报

发表于 2007-4-9 22:54 | 显示全部楼层
应该挺难的。
相关网页只找到一个
http://acm.zjnu.cn/bbs/showt.asp?id=723&page=3
回复

使用道具 举报

 楼主| 发表于 2007-4-9 23:01 | 显示全部楼层
晕,高手指教啊
回复

使用道具 举报

 楼主| 发表于 2007-4-10 20:01 | 显示全部楼层
怎么没有人回应啊,真令人着急啊
回复

使用道具 举报

发表于 2007-4-12 17:29 | 显示全部楼层
尽量少的步数。。。。不一定最少步数
回复

使用道具 举报

发表于 2007-4-12 19:55 | 显示全部楼层
此题不完整,无法编呀
要是每个盒子都有一些球,而球只是转移到相邻的盒子中,也就是总的球数没减少,那怎么会有最后的目的:所有的盒子中球的个数都不超过1?
回复

使用道具 举报

 楼主| 发表于 2007-4-13 23:31 | 显示全部楼层
我请教过人,可以这样理解

基本思路:
1。如果可以一次拿多个的话,那么第一个盒子中只要剩一个,其他的都拿到第二个盒子中,第二个盒子的操作也是同样,最多经过n次就可以了。
2。现在每次只能拿一个,那么将一次拿多个必成拿多次就可以了。

有没有人能用编程实现(语言不限),紧急啊
回复

使用道具 举报

发表于 2007-4-14 19:39 | 显示全部楼层
楼上少考虑了一个问题,就是只能向相邻的盒子放。
其实这道题我看不太懂,正如8楼所说,每个盒子如果都有一些球,那么总数怎么会只有N个?
如果是说成是盒子里可能有一些,那么我觉得首先要找出距离盒子里球数目〉1的结点最近的那个数目=0的结点。
回复

使用道具 举报

 楼主| 发表于 2007-4-17 20:26 | 显示全部楼层
不好意思,题目有点错误.

错误:每个盒子里都有一些球,且各个盒子里球的总数不超过n

修正:每个盒子里都有一些球,且所有盒子里球的总数不超过n
回复

使用道具 举报

发表于 2007-4-17 21:56 | 显示全部楼层
原帖由 corg 于 2007-4-17 20:26 发表
不好意思,题目有点错误.

错误:每个盒子里都有一些球,且各个盒子里球的总数不超过n

修正:每个盒子里都有一些球,且所有盒子里球的总数不超过n




每个盒子都有一些球:即系话每个盒子的球的数量x>=1
而一共有N个盒子,球的总数一定会大于等于N~~~~~
又由于“总数不超过N”,我只能理解为:每个盒子有且只有1个球~~~~故球的总数量为N~~~~
回复

使用道具 举报

发表于 2007-4-30 16:49 | 显示全部楼层

题意很简单吧

题意很简单吧:
1,有n个盒子,最多有n个球;
2,初始时,将这些球放在这些盒子中,(可能有些盒子没有球)
3,移动约束:每次只能从一个盒子拿出一个球放在相邻的盒子
3,求算法:令每个盒子最多只有一个球的移动方法,且移动的数次最少

有点难度。。想想先。。。
回复

使用道具 举报

发表于 2007-5-1 09:10 | 显示全部楼层
我也同意楼上的观点~~~

题目肯定有错啦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2024-6-13 00:33

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表