結果
問題 | No.1041 直線大学 |
ユーザー |
![]() |
提出日時 | 2020-05-01 21:34:37 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 1,261 ms / 2,000 ms |
コード長 | 755 bytes |
コンパイル時間 | 145 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-11-16 07:48:07 |
合計ジャッジ時間 | 10,996 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 37 |
ソースコード
n = int(input()) xy = [list(map(int,input().split()))for i in range(n)] ans = 0 for i in range(n): for j in range(i+1,n): res = 2 for k in range(n): if k == i or k == j:continue x1,y1 = xy[i][0],xy[i][1] x2,y2 = xy[j][0],xy[j][1] x3,y3 = xy[k][0],xy[k][1] dist1 = (x1-x2)**2 + (y1 - y2)**2 dist2 = (x3-x2)**2 + (y3 - y2)**2 dist3 = (x1-x3)**2 + (y1 - y3)**2 a = 4*dist1*dist2 == (dist3 - dist1 - dist2)**2 b = 4*dist3*dist2 == (dist1 - dist3 - dist2)**2 c = 4*dist1*dist3 == (dist2 - dist1 - dist3)**2 if a or b or c:res += 1 ans = max(ans,res) print(ans)