求大神帮忙做一道算法题

qq_22696479 2015-08-12 08:23:36
在上半年寻找加盟者的笔试中,我们出了一道这样的题:请用一种你所能想到
的最简便的方式解决下列问题(软件不限、语言不限),将以下数字片段重新排列
成一个正方形。要求这个正方形完成后,同样的数字会在横排和竖排的相应位置里
同时出现。(做成8×8正方形,我想到二维数组做)

...全文
154 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mdcire 2015-08-13
  • 打赏
  • 举报
回复
不会,等待大神
zilaishuichina 2015-08-13
  • 打赏
  • 举报
回复
手动统计了一下

0 2次
2 10次
3 10次
4 6次
5 4次
6 12次
7 4次
8 6次
9 10次

没有具体做,大致想了一下,权当抛砖引玉

应该是生成一颗搜索树,然后按规则枝减。

数字0次数最少,是突破口,优先确定0的位置,有n种情况(具体没算),对于每一种位置,判断“同样的数字会在横排和竖排的相应位置里同时出现”这个规则能否用其他的方块满足,能满足,将其他方块拼接上,得到子树,不能满足则枝减

如下0的两种情况

左边因为第一行4后面依次需要 8 9 3 ,没有满足的方块,枝减
右边能满足,继续往下搜索
flyrack 2015-08-13
  • 打赏
  • 举报
回复
你这种属于人工智能了 而且人的大脑都不一定做的出来的智力题 你还指望电脑能做出来
qq_22696479 2015-08-13
  • 打赏
  • 举报
回复
引用 2 楼 flyrack 的回复:
楼主得给了例题和答案 否则只有你自己才明白是什么鬼
这就是原题啊,没有答案。就是比如说排成8*8正方形后,如果第二行三列是2,那第三行二列也要是2.。这些拼图块就像尔罗斯方块那样,不能拆开,可以移动、旋转
qq_22696479 2015-08-13
  • 打赏
  • 举报
回复
引用 1 楼 a1193561652 的回复:
横排和竖排的相应位置里同时出现是个什么情况?我就理解为正方形根据坐上到右下的对角线轴对称了。是这样吗?
对,就是这个意思
flyrack 2015-08-12
  • 打赏
  • 举报
回复
楼主得给了例题和答案 否则只有你自己才明白是什么鬼
纵横车 2015-08-12
  • 打赏
  • 举报
回复
横排和竖排的相应位置里同时出现是个什么情况?我就理解为正方形根据坐上到右下的对角线轴对称了。是这样吗?

64,678

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧