超级简单的一道题,超级水
#include <iostream>
using namespace std;
int main(){
int T;
int Y,N;
cin>>T;
while(T--){
cin>>Y>>N;
int cnt = 0;
for(;cnt<N;Y++)
if ((Y%4==0 && Y%100!=0) || Y%400==0)
++cnt;
Y--;
cout<<Y<<endl;
}
return 0;
}
注意到一个细节就行了,就是当cnt递增到N-1的时候,Y为N个润年了,这时候cnt++,且=N,这时候Y还是++的,所以在最后Y要--,通过debug更好的理解了for循环俩面三个表达式的运行过程,即循环结束debug箭头返回for,并不代表满足2式(for(1;2;3)),若满足2式,箭头进去循环内执行语句,结束还是要返回for,执行3。