【ACM】杭电OJ 1076

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

【ACM】杭电OJ 1076_第1张图片

AC代码: 

#include 
#include 
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<

 

你可能感兴趣的:(ACM,算法)