有乙個無限大的蜂巢迷宮,為了方便表示每乙個六邊形格仔,現在把座標引入到這個迷宮中,如上圖年示。
艾瑞特在這個迷宮中街,剛開始他在(0,0)的位置,按照下圖所示的路線在這個迷宮中行走。
走了n步以後,他想知道自己在哪個位置了。
走1-6步1層,7-18步2層,二分查詢層數,在最後一層6個if走6邊
#include#define ll long long
#define db double
using namespace std;
ll n;
int main()
ll l=1,r=1e9,mid,lev;
while(l<=r)
else r=mid-1;
} //cout<
ll cx=-1+2*lev,cy=2;
n-=3*lev*(lev-1);n--;
if(n<=lev-1)
n-=(lev-1);
cx-=(lev-1),cy+=2*(lev-1);
if(n<=lev)
n-=lev;
cx-=lev*2;
if(n<=lev)
n-=lev;
cx-=lev,cy-=2*lev;
if(n<=lev)
n-=lev;
cx+=lev,cy-=2*lev;
if(n<=lev)
n-=lev;
cx+=2*lev;
if(n<=lev)
n-=lev;
cx+=lev,cy+=2*lev;
return 0;
}
51nod 迷宮問題
1459 迷宮遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 你來到乙個迷宮前。該迷宮由若干個房間組成,每個房間都有乙個得分,第一次進入這個房間,你就可以得到這個分數。還有若干雙向道路鏈結這些房間,你沿著這些道路從乙個房間走到另外乙個房間需要一些時間。遊戲規定了你的...
51NOD1459 迷宮遊戲
1459 迷宮遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 你來到乙個迷宮前。該迷宮由若干個房間組成,每個房間都有乙個得分,第一次進入這個房間,你就可以得到這個分數。還有若干雙向道路鏈結這些房間,你沿著這些道路從乙個房間走到另外乙個房間需要一些時間。遊戲規定了你的...
51Nod 1459 迷宮遊戲
你來到乙個迷宮前。該迷宮由若干個房間組成,每個房間都有乙個得分,第一次進入這個房間,你就可以得到這個分數。還有若干雙向道路鏈結這些房間,你沿著這些道路從乙個房間走到另外乙個房間需要一些時間。遊戲規定了你的起點和終點房間,你首要目標是從起點盡快到達終點,在滿足首要目標的前提下,使得你的得分總和盡可能大...