結果
問題 |
No.1041 直線大学
|
ユーザー |
![]() |
提出日時 | 2020-05-01 21:35:09 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 95 ms / 2,000 ms |
コード長 | 755 bytes |
コンパイル時間 | 158 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 73,600 KB |
最終ジャッジ日時 | 2024-11-16 07:48:48 |
合計ジャッジ時間 | 3,523 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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)