ZCMU—1863
1863: zbj的長跑
Time Limit:?1 Sec?? Memory Limit:?128 MB[ Submit][ Status][ Web Board]
Description
學校最近規定同學們每天必須參加鍛煉,學校的分布為一張圖,每兩條大路的交點處都有一個打卡器,也就是說在n*m的圖中,總共有n*m個打卡器,zbj不喜歡鍛煉,所以他想提前準備一張路線圖,讓他跑的路程最短,那么問題來了,他現在想知道,他最少需要跑多少路呢?
zbj每次從(1,1)的寢室出發,顯然他是要跑回來的...因為要回寢室睡覺啊!
3*3的地圖如下,X處即為打卡點,zbj可以選擇在相鄰的兩個點之間跑,路程為1km,他也可以選擇穿過教學樓,抄近路,也就是從從(1,1)直接到達(2,2)
X X X
X X X
X X X
Input
多組輸入數據,每組數據輸入兩個正整數n,m(1<=n,m<=1000)
Output
每組數據輸出一個小數,表示zbj最少需要跑的路程,保留兩位小數
Sample Input
2 2 3 5Sample Output
4.00 15.41【分析】
數學規律題了。。當n,m不全為奇數的時候,最短路徑就是n*m; 當n,m全為奇數的時候,必然要走一條斜線,就多走了0.41(即根號2),最短路徑即為:n*m+0.41.?
【代碼】 #include <cstdio> int main() {int total;int m,n;int i;while (~scanf("%d%d",&m,&n)){if((m*n)%2 == 0)printf("%d.00\n",m*n);elseprintf("%d.41\n",m*n);}return 0; }
總結
- 上一篇: matlab自动运行,自动运行matla
- 下一篇: 关于王者荣耀技术背景的文章