Particle

競技プログラミングについての雑記

AOJ 0093: Leap Year

出力に気をつけるのと、前計算するだけ。少しだけ短く書く場合は、
if(!(i%400) || i%100 && !(i%4)) leap[i]++;
とする。

int leap[3000];

int main(){
	for(int i = 1; i < 3000; i++){
		if(i%400 == 0) leap[i] = 1;
		if(i%100 == 0) leap[i] -= 1;
		if(i%4 == 0) leap[i] += 1;
	}
	
	int a,b,flag = 1;
	while(cin>>a>>b,a||b){
		if(!flag){
			cout<<endl;
			flag = 0;
		}
		for(int i = a; i <= b; i++){
			if(leap[i]){
				cout<<i<<endl;
				flag = 1;
			}
		}
		if(!flag) cout<<"NA"<<endl;
		flag = 0;
	}
	return 0;
}