链接:click here
题意: 给你 一张图,问你从起点出发,最后回到起点的最短路程
思路:
当n,m有一者能够为偶数时,结果是n*m否者必有一条路需要斜着走,结果为n*m-1+1.41
代码:
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<set>
#include<vector>
#include<map>
#include<math.h>
#include<queue>
#include<string>
#include<stdlib.h>
#include<algorithm>
using namespace std;
int a[1000000];
int main()
{
int ncase,m,i,j=1;
cin>>ncase;
while(ncase--)
{
double n,m;
cin>>n>>m;
printf("Scenario #%d:\n",j++);
if((int )n%2==0||(int ) m%2==0)
printf("%.2lf\n",n*m);
else printf("%.2lf\n",n*m-1+sqrt(2.0));
printf("\n");
}
return 0;
}
ZOJ 1037 && HDU 1046 Gridland (找规律)
原文:http://blog.csdn.net/u013050857/article/details/43164725