鱼C论坛

 找回密码
 立即注册
查看: 2562|回复: 9

求助这题怎么做!!运行无结果

[复制链接]
发表于 2019-12-2 00:08:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 东岸 于 2019-12-2 11:30 编辑


                               
登录/注册后可看大图
期末项目:巧放五角星
现有10 颗五角星,在方格线中放置这些五角
星,每条线上有且仅有两颗,怎样进行巧放(已经
有两颗已经放好了,还剩8 颗未放)。
项目要求
(1) 请编制Python 程序进行求解其他8 个五
角星该如何放置。
(2) 请用Python 程序列出符合要求的10 颗
五角星摆放的所有可能。
【输出格式要求】
为每个解决方案一行,一行内按照字母顺序输出
10 个位置。
【可选项】可以以图形的方式输出所有结果。
初始图的Python 定义如下:
a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y = range(25)
Graph = [{a, c, e, f, g},
{a, b, x, m, l},
{a, v, w, t, r},
{d, c, b, v, u},
{d, e, x, p, o},
{d, f, h, i, j},
{g, h, x, s, r},
{g, i, k, y, l},
{j, k, x, w, u},
{j, y, m, n, o},
{l, n, p, q, r},
{o, q, s, t, u}]
star_pos=[s, h]
【评价标准】
(1) 能够基于指定的star_pos=[s, h]输出放置的所有结果(获得基础得分75 分);
(2) 能够基于用户指定的初始位置,输出放置的所有可能结果包括无结果(加10 分);
(3) 用暴力枚举法求得的所有结果仅能获得基础分(75 分)
(4) 如用非暴力枚举法所得的结果能够获得基准分(85 分)
(5) 如能图形输出所有结果(加10 分)
(6) 良好的代码风格(5 分)

                               
登录/注册后可看大图

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-12-2 09:33:19 | 显示全部楼层
是不是题目中有图片说明?
看不明白题目。
如果你想贴图,参照下面的帖子:

帖子怎么添加图片?https://fishc.com.cn/thread-143565-1-1.html

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-2 11:28:48 | 显示全部楼层

                               
登录/注册后可看大图
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-2 11:29:30 | 显示全部楼层
XiaoPaiShen 发表于 2019-12-2 09:33
是不是题目中有图片说明?
看不明白题目。
如果你想贴图,参照下面的帖子:

感谢!图在3楼!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-2 13:26:06 From FishC Mobile | 显示全部楼层
你能否谈谈解题思路,你们学了什么算法吗?动态规划?DFS...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-2 14:05:25 | 显示全部楼层
XiaoPaiShen 发表于 2019-12-2 13:26
你能否谈谈解题思路,你们学了什么算法吗?动态规划?DFS...

我们课本是董付国的Python程序设计基础 没有学很深 只学了一些基本的 内置,序列,选择循环结构,正则表达式之类的 (而且我是最近才开始抢救

我的思路大概是:
从除了直线SH上的点,再其他21个点中任取一点
判断 剩余直线上的点是否有两点都取到的情况;
若有,在star_pos中加入该取点,从所有点zimu中删除这条线上的所有点,从Graph中删除这条线上对应的元素

循环8次(放8颗五角星),输出所有可能结果

【上面只是输出可能结果,而且基础不够扎实会有挺多小细节不清楚,最近在恶补;怎么以图形输出我还得去查资料只学一下下…
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-3 01:12:34 | 显示全部楼层
东岸 发表于 2019-12-2 14:05
我们课本是董付国的Python程序设计基础 没有学很深 只学了一些基本的 内置,序列,选择循环结构,正则表 ...

你这样的思路只是找出一种填充方法,题目要求列出所有的可能,是吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-3 10:07:16 | 显示全部楼层
XiaoPaiShen 发表于 2019-12-3 01:12
你这样的思路只是找出一种填充方法,题目要求列出所有的可能,是吗?

嗯嗯 题目是要求列出所有可能
还没想好怎么运行出所有方法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-3 12:39:27 From FishC Mobile | 显示全部楼层
给一个思路,现在没在电脑旁
列表Links初始化为各线段上缺少的五角星数(需要自己给线段编号)
从links的交集中对比出可以确定的点
点集.sort(key=包含该点的links中的元素个数)
点集.reversed()
循环:枚举 更新links 还原links
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-3 14:04:18 | 显示全部楼层

                               
登录/注册后可看大图
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-21 03:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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