设计一个程序,找出游览的最短路线,要求每个城市都要经过且不重复,每个城市都位于矩形网格的点上。
假设为M*N的网格,当网格的个数为偶数时,最短的路线为M*N;当网格的个数为奇数时,最短的路线为M*N+0.41,应为要多走一条对角线。
include<iostream>
using namespace std;
int main()
{
int iCase; //测试例数
cin>>iCase;
int number;
int length;
for(number=1;number<=iCase;number++)
{
int M,N;
cin>>M>>N;
length=M*N;
cout<<"Scenario #"<<number<<":"<<endl;
cout<<length;
if(M%2&&N%2)
cout<<".41"<<endl;
else
cout<<".00"<<endl;
}
return 0;
}