思路:设置一个标记是否掉果的标记数组,如果有掉果就为1,否则为0;在计算是否掉果时,比较人为除掉之后剩余的果和实际剩余的果,最后再统计连续3棵树都掉果的组数
难点在于如何找出连续的3棵树都掉果的组数,可以分情况来讨论
1.如果是全部的树都掉果,那么就会有N组的3棵树连续的情况,因为树的编号是以圆形来排列的
2.如果不是全部的树都掉果,可以考虑某一棵树周围的2棵树是否掉果,用取余的方法可以保证让一个以1递增的序列变成一个在0-N范围内循环的数列,即满足产生让一个数一直加,但是结果在0和被除数之间循环的行为
我的bug一个是判断掉果还是没掉果的时候,要计算剩下的果,我先将输入的剩下的苹果数的情况写在了前面,(即a[i][j]>0的情况)导致初始的t值不对而造成了错误,因此如果以后发现程序出错的时候,可以重新调整一下思路,将不同的情况换一下顺序来写,可能思路会清晰很多
附代码:
#include<bits/stdc++.h>
using namespace std;
int a[1000];
<