【ACM】杭电OJ 1076

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDN___CSDN/article/details/83792250

数组要开的大一些,一开始数组只开到10000+5,就显示了错误的数据

AC代码: 

#include <iostream>
#include <cstring>
using namespace std;
const int maxn = 1000000+5;
int a[maxn];
int main ()
{
	int i;
	memset(a,0,sizeof(a));
	for(i=1;i<=maxn;i++)
	{
		if((i%4==0 && i%100!=0)||(i%400==0))
		{
			a[i] = 1;
		}
	}
	int T,n,year,num;
	cin>>T;
	while(T--)
	{
		num=0;
		cin>>year>>n;
		for(i=year;;i++)
		{
			if(a[i])	num++;
			if(num==n)	break;
		}
		cout<<i<<endl;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/CSDN___CSDN/article/details/83792250