[東方] 我沒辦法幫琪露諾找到寶藏了

看板C_Chat (希洽)作者 (莫笑)時間2小時前 (2025/11/08 21:09), 編輯推噓18(18046)
留言64則, 12人參與, 41分鐘前最新討論串1/1
http://i.imgur.com/lpY0c1t.jpg
http://i.imgur.com/YZZTKem.jpg
我就是那個笨蛋 我知道把A、B當成圓的直徑 圓周上每一點都可以變直角三角形 但是再然後怎麼求點座標…… -- https://imgur.com/bjxF4BZ
From #01 Undertaker, to #23 Handler One. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.253.49 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1762607367.A.0CE.html

11/08 21:11, 2小時前 , 1F

11/08 21:12, 2小時前 , 2F
八嘎八嘎
11/08 21:12, 2F

11/08 21:15, 2小時前 , 3F
我對天文密葬法稍微比較有興趣w
11/08 21:15, 3F

11/08 21:16, 2小時前 , 4F
這是要你寫程式 所以還有幻想鄉沒有編譯器的問題
11/08 21:16, 4F

11/08 21:17, 2小時前 , 5F
編譯器就是那個八雲藍 不用太擔心
11/08 21:17, 5F

11/08 21:21, 2小時前 , 6F
a^2+b^2=c^2 驗證簡單,但要怎麼找比較快我就不知道了
11/08 21:21, 6F

11/08 21:21, 2小時前 , 7F
仔細看了題意 他只是要你找一個座標給笨蛋探險而已
11/08 21:21, 7F

11/08 21:22, 2小時前 , 8F
那裡到底有沒有寶藏不在你的責任範圍內
11/08 21:22, 8F

11/08 21:26, 1小時前 , 9F
直接窮舉 計算有沒有符合畢氏定理吧 再快就是圓跟兩條切線
11/08 21:26, 9F

11/08 21:29, 1小時前 , 10F
真正麻煩的應該是輸入兩點在同一行或同一列上
11/08 21:29, 10F

11/08 21:29, 1小時前 , 11F
然後彼此距離是奇數 這樣可能會真的要窮舉搜尋
11/08 21:29, 11F

11/08 21:30, 1小時前 , 12F
不同行列 或 同一行列但距離偶數 直接傳簡單解就好了
11/08 21:30, 12F

11/08 21:30, 1小時前 , 13F
不在同一行或同一列的話就A點的x座標+B點的y座標
11/08 21:30, 13F

11/08 21:30, 1小時前 , 14F
題意有寫你不用對寶藏負責 你只要吐出座標就好
11/08 21:30, 14F

11/08 21:31, 1小時前 , 15F
AB都是格子點,所以(x,y) (z,w) 作為斜邊的話, (x,w) 與
11/08 21:31, 15F

11/08 21:31, 1小時前 , 16F
若x1!=x2且y1!=y2那x1,y2或者x2,y1就是解了
11/08 21:31, 16F

11/08 21:31, 1小時前 , 17F
(z,y) 都是符合條件的點
11/08 21:31, 17F

11/08 21:31, 1小時前 , 18F
如果有相等的再看x還y哪個數字加減1就也能當解啊
11/08 21:31, 18F

11/08 21:31, 1小時前 , 19F
同一行列距離偶數:直接頂一個範圍內的45度給他
11/08 21:31, 19F

11/08 21:31, 1小時前 , 20F
再處理在座標一樣的情況
11/08 21:31, 20F

11/08 21:31, 1小時前 , 21F
啊對 幹 我是笨蛋 我被直角的位置所束縛了
11/08 21:31, 21F

11/08 21:32, 1小時前 , 22F
所以這題實際上不用搜尋
11/08 21:32, 22F

11/08 21:32, 1小時前 , 23F
跟老高同一間
11/08 21:32, 23F

11/08 21:32, 1小時前 , 24F
座標完全一樣要在輸入那邊就排除 這個倒是簡單
11/08 21:32, 24F

11/08 21:33, 1小時前 , 25F
寫搜尋的會大中計 因為可能會搜不到解
11/08 21:33, 25F

11/08 21:33, 1小時前 , 26F
但實際上只要輸入合法就一定有解
11/08 21:33, 26F

11/08 21:33, 1小時前 , 27F
測試資料一定會準備這種橫向搜尋會爆的內容來堵人
11/08 21:33, 27F

11/08 21:39, 1小時前 , 28F
其實這出題也有點微妙 東方+程設應該要算三途川的寬度才對
11/08 21:39, 28F

11/08 21:43, 1小時前 , 29F
這範圍意思是保你int32夠用
11/08 21:43, 29F

11/08 21:45, 1小時前 , 30F
然後如果你中計了想用暴力搜尋 你會覺得要用int64
11/08 21:45, 30F

11/08 21:45, 1小時前 , 31F
(用浮點數的話大數字平方精確度會報掉)
11/08 21:45, 31F

11/08 21:45, 1小時前 , 32F
結果第一筆測試資料是0 0 0 1 你搜尋不出來 整題零分
11/08 21:45, 32F

11/08 21:47, 1小時前 , 33F
我程設只有皮毛 int64會出什麼問題?
11/08 21:47, 33F

11/08 21:57, 1小時前 , 34F
不是int64的問題 是你以為輸入兩點必是斜邊的問題
11/08 21:57, 34F

11/08 21:57, 1小時前 , 35F
題目實際上沒這個條件 所以他敢保證一定有解
11/08 21:57, 35F

11/08 21:58, 1小時前 , 36F
但你一定是誤以為有這個條件才會走到畢氏定理搜尋
11/08 21:58, 36F

11/08 22:01, 1小時前 , 37F
我剛剛想到只要一組解,最快就是找等腰直角三角形
11/08 22:01, 37F

11/08 22:02, 1小時前 , 38F
像0 0 4 2,就直接給2 -4,出界還有三組解可以試
11/08 22:02, 38F

11/08 22:02, 1小時前 , 39F
他給你的點AB未必會有等腰直角三角形的格子點解
11/08 22:02, 39F

11/08 22:03, 1小時前 , 40F
對,的確不能保證有解
11/08 22:03, 40F

11/08 22:05, 1小時前 , 41F
轉90度雖然是很簡單暴力的作法但很容易超出範圍
11/08 22:05, 41F

11/08 22:08, 1小時前 , 42F
實際解應該是兩條垂直線,還有以兩點為直徑的圓
11/08 22:08, 42F

11/08 22:09, 1小時前 , 43F
他給你的是兩個格子點所以兩條垂直線你已經有了 不需要圓
11/08 22:09, 43F

11/08 22:14, 1小時前 , 44F
可是剛剛才說格子點不一樣有解,有可能出界,然後給你狠
11/08 22:14, 44F

11/08 22:14, 1小時前 , 45F
一點來個xy互質的座標,保證中間找不到整數點
11/08 22:14, 45F

11/08 22:15, 1小時前 , 46F
*不一定有解
11/08 22:15, 46F

11/08 22:16, 1小時前 , 47F
一定有解 題目的保證有解的意思其實是這樣:
11/08 22:16, 47F

11/08 22:16, 1小時前 , 48F
「如果你能想到其實這麼簡單,那當然一定有解」
11/08 22:16, 48F

11/08 22:17, 1小時前 , 49F
範圍是正方形不是圓形 不同行列輸入你就吐一個直角點
11/08 22:17, 49F

11/08 22:17, 1小時前 , 50F
同行列輸入你就轉90度加一或減一(確認邊界方向)
11/08 22:17, 50F

11/08 22:18, 1小時前 , 51F
不只保證有解而且保證兩個 但講出有兩個等於破梗XD
11/08 22:18, 51F

11/08 22:19, 1小時前 , 52F
如果是其它製造直角三角形的方式 出題者的測試資料一
11/08 22:19, 52F

11/08 22:19, 1小時前 , 53F
定會準備那種方式會爆掉的輸入
11/08 22:19, 53F

11/08 22:19, 1小時前 , 54F
只要你任何一筆資料答不出來 他甚至有理由給整題零分
11/08 22:19, 54F

11/08 22:21, 1小時前 , 55F
他的問題對人很好耶,在實數上求點
11/08 22:21, 55F

11/08 22:21, 1小時前 , 56F
xy座標軸上不會出現實數以外的東西吧…
11/08 22:21, 56F

11/08 22:22, 1小時前 , 57F
這題比較微妙的是 他是程式題 程式沿著一個方向搜尋
11/08 22:22, 57F

11/08 22:23, 1小時前 , 58F
是很合理的想像 但這題只要一想到搜尋就是死
11/08 22:23, 58F

11/08 22:23, 1小時前 , 59F
比較大的問題是原po給了一個很大的雜音讓人會想要搜尋XD
11/08 22:23, 59F

11/08 22:24, 1小時前 , 60F
不然你看例題裡的輸入輸出應該很直覺會想到拉長方形
11/08 22:24, 60F

11/08 22:28, 57分鐘前 , 61F
我看到例題有想到當斜邊就很簡單 然後「如果同行列的
11/08 22:28, 61F

11/08 22:28, 57分鐘前 , 62F
話就沒這麼簡單了」 然後就爆了
11/08 22:28, 62F

11/08 22:41, 44分鐘前 , 63F
先平移讓任一點為原點 在取剩下那個點的隨便軸投影
11/08 22:41, 63F

11/08 22:44, 41分鐘前 , 64F
平移到原點可能會讓另一點跑出定義範圍 直接取(x1,y2)就好
11/08 22:44, 64F
文章代碼(AID): #1f3q473E (C_Chat)
文章代碼(AID): #1f3q473E (C_Chat)