首页 > 代码库 > ZOJ 1037 && HDU 1046 Gridland (找规律)

ZOJ 1037 && HDU 1046 Gridland (找规律)

链接: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 (找规律)