1037:城市之间如下图连接。求环行一周的最短距离
[img]http://dl.iteye.com/upload/attachment/533557/57050167-d3cc-3a99-a44f-a7a1a48f6b02.gif[/img]
一行m个城市,一列n个城市。如果m和n中有一个是偶数,则m*n距离。
若均为奇数,则必须走一条斜边,m*n-1+根号2距离
[color=orange]编写时发现printf不会进行类型转换 printf("%f",2*3) 会输出0 要注意一下[/color]
[img]http://dl.iteye.com/upload/attachment/533557/57050167-d3cc-3a99-a44f-a7a1a48f6b02.gif[/img]
一行m个城市,一列n个城市。如果m和n中有一个是偶数,则m*n距离。
若均为奇数,则必须走一条斜边,m*n-1+根号2距离
[color=orange]编写时发现printf不会进行类型转换 printf("%f",2*3) 会输出0 要注意一下[/color]
#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
int main()
{
int N;
int m;
int n;
double value;
cin>>N;
for(int i=0;i<N;i++)
{
cin>>m;
cin>>n;
if(m%2==0||n%2==0)
value=m*n;
else
value=m*n+sqrt(2.0)-1;
printf("Scenario #%d:\n%.2f\n\n",i+1,value);
}
}