我打表了。。
然后没超时
题意就是求所给年份后的第k个闰年
闰年怎么求题目中告诉了
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<math.h>
#include<cstring>
#include<string>
#include<vector>
using namespace std;
vector<int> ve;
void init(){
for(int i=0;i<=100000;i++){
if(i%100!=0&&i%4==0){
ve.push_back(i);
}else if(i%400==0){
ve.push_back(i);
}
}
}
int main(){
init();
int t;
int year,k;
cin>>t;
while(t--){
cin>>year>>k;
if(year%100!=0&&year%4==0){
year-=4;
}else if(year%400==0){
year-=4;
}
while(true){
if(year%100!=0&&year%4==0){
break;
}else if(year%400==0){
break;
}else{
year--;
}
}
for(int i=0;i<ve.size();i++){
if(ve[i]==year){
cout<<ve[i+k]<<endl;
break;
}
}
}
return 0;
}