鱼C论坛

 找回密码
 立即注册
查看: 760|回复: 4

OI题

[复制链接]
发表于 2019-4-3 16:41:43 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
有n个人,每个人有一封信,现随机分配这n封信,要求每个人都不能拿到自己的信,请列举情况
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-3 19:46:14 | 显示全部楼层
动态规划
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-3 22:45:35 | 显示全部楼层
  1. for i in range(10):
  2.     for j in range(10):
  3.         if i != j:
  4.             print(i,j)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-4 10:50:10 | 显示全部楼层

不符合题目要求吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-4 11:57:35 | 显示全部楼层
想不到好的办法了,用了个笨办法,遍历,就是套的循环太多了,效率非常差,期望有哪位大神有更好的思路。
假设5个人,人不动,信轮流转换。
  1. for a in range(1,6):
  2.     if a!=1:
  3.         for b in range(1,6):
  4.             if b!=2 and b!=a:
  5.                 for c in range(1,6):
  6.                     if c!=3 and c!=a and c!=b:
  7.                         for d in range(1,6):
  8.                             if d!=4 and d!=a and d!=b and d!=c:
  9.                                 for e in range(1,6):
  10.                                     if e!=5 and e!=a and e!=b and e!=c and e!=d:
  11.                                         print(a,b,c,d,e)
复制代码

运行结果是这样的:
  1. 2 1 4 5 3
  2. 2 1 5 3 4
  3. 2 3 1 5 4
  4. 2 3 4 5 1
  5. 2 3 5 1 4
  6. 2 4 1 5 3
  7. 2 4 5 1 3
  8. 2 4 5 3 1
  9. 2 5 1 3 4
  10. 2 5 4 1 3
  11. 2 5 4 3 1
  12. 3 1 2 5 4
  13. 3 1 4 5 2
  14. 3 1 5 2 4
  15. 3 4 1 5 2
  16. 3 4 2 5 1
  17. 3 4 5 1 2
  18. 3 4 5 2 1
  19. 3 5 1 2 4
  20. 3 5 2 1 4
  21. 3 5 4 1 2
  22. 3 5 4 2 1
  23. 4 1 2 5 3
  24. 4 1 5 2 3
  25. 4 1 5 3 2
  26. 4 3 1 5 2
  27. 4 3 2 5 1
  28. 4 3 5 1 2
  29. 4 3 5 2 1
  30. 4 5 1 2 3
  31. 4 5 1 3 2
  32. 4 5 2 1 3
  33. 4 5 2 3 1
  34. 5 1 2 3 4
  35. 5 1 4 2 3
  36. 5 1 4 3 2
  37. 5 3 1 2 4
  38. 5 3 2 1 4
  39. 5 3 4 1 2
  40. 5 3 4 2 1
  41. 5 4 1 2 3
  42. 5 4 1 3 2
  43. 5 4 2 1 3
  44. 5 4 2 3 1
  45. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-15 00:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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