竹園論壇

標題: 25 - 迷宮 [打印本頁]

作者: domen111    時間: 2015-3-15 03:11
標題: 25 - 迷宮
稍微想一下就會發現:n*m為奇數時,會有一步走斜向,答案為n*m-1+sqrt(2)
n*m為偶數時,答案為n*m

還滿容易理解的

不過有兩個陷阱:
1. n或m為1時答案為2*(n*m-1)
2. 別用double或long double存,會炸開,遇到sqrt(2)時自己輸出.41就行了

[C++] 純文本查看 復制代碼
#include<iostream>
#define endl '\n'
using namespace std;
typedef long long ll;
int main()
{
        ios::sync_with_stdio(0);
        cin.tie(0);

        long long n,m;
        cin>>n>>m;
        long long pc=n*m;
        if(n==1 || m==1)
                cout<<2*(pc-1)<<".00"<<endl;
        else if(pc%2==0)
                cout<<pc<<".00"<<endl;
        else
                cout<<pc<<".41"<<endl;
}






歡迎光臨 竹園論壇 (http://forum.tfcis.org/) Powered by Discuz! X3.2