HLG2157【找规律】

吃豆豆
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 59(40 users) Total Accepted: 34(34 users) Rating:  Special Judge: No
Description

一天Woods和他的GrilFriend(GF)来到了一个童话王国的小镇里,镇上有许多豆豆(如下图中的每个圆形为一个豆豆),每个豆豆有通向东,南,西,北,东南,东北,西北,西南八个方向的道路。其中直线道路的距离为1米,斜线道路的距离为根号2米。GF一看见吃的就饿了……你能算出吃且只吃所有豆豆一次,最后回到起点的最短路程吗?

 

如图所示为一个2 x 3的图,最短距离(如红线所示)为6米。

Input

多组测试数据。每组测试数据一行,包括两个整数N,M(1 < m < 50 and 1 < n < 50.),代表图的大小为N行M列。

Output

对于每组数据输出一行,输出吃且只吃所有豆豆一次,最后回到起点的最短路程。(精确到两位小数)。

Sample Input
2 2
2 3
Sample Output

4.00

6.00

Hint

 

Source
2014暑假集训练习赛(8月13日)

分析:找规律

代码:

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cmath>
 4 using namespace std;
 5 
 6 int main() {
 7     int a, b;
 8     while(EOF != scanf("%d %d",&a, &b) ) {
 9         double ans = a * b + 1e-9;
10         if(a % 2 == 1 && b % 2 == 1) ans += sqrt(2) - 1.0;
11         printf("%.2lf\n",ans);
12     }
13     return 0;
14 }
View Code

 

posted @ 2014-10-30 21:15  悠悠我心。  阅读(218)  评论(0编辑  收藏  举报