Plumalis 发布于四月 20, 2020 分享 发布于四月 20, 2020 (已修改) 看样例2的话,难道每个人喜欢吃的还不唯一喽? 剧透 好久没写过代码了……已经忘光了,就随便写点伪代码大家看的懂就行 基础想法是计算每个菜离要吃的人的距离,只算一个方向,反正右转一个菜和左转n-1个菜是一样的不是嘛。 然后统计一下不同的距离一共多少,感觉应该就是正确解了? readln(n); for (i=1,i<=n,i++ ){ read(j); a[i]= j - i; if (a[i]<0) a[i] = a[i]+n; } for (i=1,i<=n,i++ ){ if (a[i] != 0) b[a[i]]= 1; } integer answer = 0; for (i=1,i<=n,i++ ){ answer += b[i]; } 真的是……从高中以后就再也没搞过这个方面了,万一有错还请多包涵 四月 20, 2020,由wozaiha修改 补充思路? 注释 Mr.K 018 50.00节操 糖~ 1 链接到点评
推荐贴