HDU ACM 1046 Gridland 找规律

分析:给出一个矩阵。问最短从一个点经过全部点以此回到起点的长度是多少。绘图非常好理解。先画3*4、3*3、4*4的点阵图案。试着在上面用最短路走一走,能够发现当矩形点阵的长宽都是奇数时,最短路中必然有一条斜线;而仅仅要长或宽有一个是偶数就能够通过直线来完毕最短路经。因此仅仅需推断一下两边的奇偶情况就能求最短路径了。

#include<iostream>
#include<cmath>
using namespace std;

int main()
{
	int T,t=0,m,n;

	cin>>T;
	while(T--)
	{
		cin>>m>>n;
		cout<<"Scenario #"<<++t<<":"<<endl;
		if(m&1 && n&1)    //两个都是奇数
			printf("%.2lf

",m*n-1.0+sqrt(2.0));
		else
			printf("%.2lf

",(double)m*n);
	}
    return 0;      
}