C
题意:无限个房子,房间$k$的住户移动到$ k+a[k\%n] $的房间,询问是否存在同一房间多个住户的情况。
题解:遍历$a$数组,令$b[i]=((a[i]+i)\%n+n)\%n$,判断b数组是否存在相同的值即可
D
题意:$N$极可以向$S$极移动,求最少的$N$极磁铁数满足每行/列都有$S$极磁铁并且每一个黑色方格都有$N$极可以到达,白色方格则没有
题解:显然对于答案存在的情况,直接求黑色联通块个数即可。而答案不存在时有两种情况:
任一行$/$列的黑色方格之间存在白色方格
只存在纯白行$/$列,而不存在纯白列$/$行