代码改变世界

奋战杭电ACM(DAY11)1017

2013-09-03 22:06  百里小问  阅读(87)  评论(0编辑  收藏  举报

这题重点完全在格式……input、output的格式……敲打

输入N个方块,每个方块之间一个空行,输出N个方块,每个方块之间一个空行,每个方块之间相互独立。

A Mathematical Curiosity

#include <iostream>
using namespace std;

int main()
{
	int N,n,m,num,NUM,block;
	cin >> N;
	block=0;
	for(int x=1; x<=N; x++)
	{
		block +=1;
		NUM=0;
		while(cin >> n >> m)
		{
			num=0;
			NUM +=1;
			if(n==0 && m==0) break;//00居然是每个方块的结束标志,一开始以为是整个输入的结束,纠结好久怎么根据空行断数据……
			for(int a=1; a<n-1; a++)
			{
				for(int b=a+1; b<n; b++)
				{
					if((a*a+b*b+m)%(a*b)==0)
						num +=1;
				}
			}
			cout << "Case " << NUM << ": " << num << endl;
		}
		if(block != N)//在输出方块之间断行
			cout << endl;
	}
	return 0;
}