鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: sfqxx

[已解决]【C++板块提升计划】梦想护卫舰 第13期 细胞分裂

[复制链接]
 楼主| 发表于 2023-1-26 17:12:02 From FishC Mobile | 显示全部楼层
hziyan 发表于 2023-1-26 15:57
等会,我刚交的是观赏版

(不要问观赏版是什么,问就改bug顺便问问你们是怎么改bug ...

我拿您的代码去试试,如果通过即可领奖励
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-26 17:45:02 | 显示全部楼层    本楼为最佳答案   
sfqxx 发表于 2023-1-26 17:12
我拿您的代码去试试,如果通过即可领奖励

。。那你还是用这个吧,我刚有个特殊判定没加上
  1. kinds = input()
  2. m1,m2 = input().split()
  3. splits = input().split()
  4. m1 = int(m1)
  5. m2 = int(m2)
  6. time = set()
  7. pri_m = set()
  8. pri_tm = set()

  9. for factor in range(2,m1+1):
  10.     if m1 % factor ==0:
  11.         ifadd = True
  12.         for f in pri_m:
  13.             if factor % f == 0:
  14.                 ifadd = False
  15.                 break
  16.         if ifadd:
  17.             tm = 0
  18.             while m1 % factor == 0:
  19.                 m1 /= factor
  20.                 tm += 1
  21.             pri_tm.add(tm)
  22.             pri_m.add(factor)  

  23. maxtm = max(pri_tm)*m2 if pri_tm else 0
  24. for sp in splits:
  25.     sp = int(sp)
  26.     if len([sp for m in pri_m if sp % m == 0]) == len(pri_m):
  27.         pri_ts = set()
  28.         
  29.         for t in pri_m:
  30.             ts = 0
  31.             while sp % t == 0:
  32.                 sp /= t
  33.                 ts += 1
  34.                
  35.             pri_ts.add(ts)
  36.             
  37.         maxts= max(pri_ts) if pri_ts else 1

  38.         if maxtm % maxts == 0:
  39.             time.add(maxtm // maxts)
  40.         else:
  41.             for t in range(2,maxtm+1):
  42.                 if maxts *t > maxtm:
  43.                     time.add(t)
  44.                     break
  45.     else:
  46.         time.add(-1)
  47.             
  48. time.discard(-1)
  49. if time:
  50.     print(min(time))
  51. else:
  52.     print(-1)
复制代码

评分

参与人数 1荣誉 +5 贡献 +3 收起 理由
sfqxx + 5 + 3 恭喜!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-26 17:53:56 | 显示全部楼层
hziyan 发表于 2023-1-26 17:45
。。那你还是用这个吧,我刚有个特殊判定没加上

恭喜,您通过了此题!
奖励即将送达
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 23:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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