HBC236191新集合,深度优先搜索(DFS),搜索青蛙题解

为你而来永不停止 算法基础篇 56 0
想要成为编程高手?那就来试试全网最全C++题库,让您在练习中快速成长。
j占领,青蛙们现在想知道,当它们跳跃次数足够多之后,最终有多少颗石头被两只及以上的青蛙占领,因为这样的石头个数可能很多,你只需要输出这些石头的编号之和。

有  m m 颗石头排成一个环,编号为  0 到  m-1 m−1 。有  n n 只青蛙在  0 号石头上,第  i i 只青蛙每次能恰好跳过  a_i a i ​  颗石头。具体地,如果第i只青蛙当前在编号  x x 的石头上,它下一跳会到达  (x+a_i) mod m (x+a i ​ ) mod m 的石头(因为石头是成环排列的)。 青蛙  i i 每跳到一颗石头上,这颗石头都会被青蛙  i i 占领,即使这只青蛙跳出了这颗石头,石头还是被青蛙  i i 占领,当另一只青蛙 j j 跳到该石头上后,这块石头同时被 i i j j 占领。青蛙们现在想知道,当它们跳跃次数足够多之后,最终有多少颗石头被两只及以上的青蛙占领。因为这样的石头个数可能很多,你只需要输出这些石头的编号之和。

HBC236191新集合,深度优先搜索(DFS),搜索青蛙题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)

标签: HBC236191新集合 深度优先搜索(DFS) 搜索青蛙题解