--- title: UVa 10182 toc: no categories: 題解 UVa 數論 ... 網址 ==== http://uva.onlinejudge.org/external/101/10182.html 題目概述 ==== 找出右圖的數字對應到左圖的座標位置 Technique details ================= n < 10^5 輸入格式 ----- 每一行一個測資 n ,End By EOF 輸出格式 ------ 每一行對應一個測資,輸出座標位置 解題思路 ====== 轉換座標,雖然圖給的是一個六角形 但是我們把座標歪著看 假設 Y 座標 = (-2,0) (-1,0) (0,0) (1,0) (2,0) 這一條直線 X座標 = (0,-2) (0,-1) (0,0) (0,1) (0,2) (0,3) 這條直線 這樣就變成一個普通的XY座標系統 那規則就變成 一開始是 (0,0) 然後 下面是一個公式當參考 給定一個 cnt1 = 0, cnt2 = 1 ,再照著下面的規則,依序加到 n (可以建表) +(0,1) + (-1,1) * cnt1次 + (-1,0) * cnt2次 + (0,-1) * cnt2次 + (1,-1) * cnt2次 + (1,0) * cnt2次 + (0,1) * cnt2次 cnt1++, cnt2++ //繞下一圈,所以要加 1