結果
| 問題 |
No.2358 xy+yz+zx=N
|
| コンテスト | |
| ユーザー |
遭難者
|
| 提出日時 | 2023-06-05 14:41:48 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 153 ms / 2,000 ms |
| コード長 | 816 bytes |
| コンパイル時間 | 577 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 81,664 KB |
| 最終ジャッジ日時 | 2024-07-01 17:25:19 |
| 合計ジャッジ時間 | 2,195 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 10 |
ソースコード
n = int(input())
nn = n // 3
ans = []
x, xx = 0, 0
while xx <= nn:
k = n + xx
yy = x << 1
yyy = yy * yy
while yyy <= k:
if yy == 0 or k % yy > 0:
yyy += (yy << 1) | 1
yy += 1
continue
y, z = yy - x, k // yy - x
if x != y and y != z:
ans.append([x, y, z])
ans.append([x, z, y])
ans.append([y, x, z])
ans.append([y, z, x])
ans.append([z, x, y])
ans.append([z, y, x])
elif x != y or y != z:
ans.append([x, y, z])
ans.append([y, z, x])
ans.append([z, x, y])
else:
ans.append([x, y, z])
yyy += (yy << 1) | 1
yy += 1
xx += (x << 1) | 1
x += 1
print(len(ans))
for i in ans:
print(*i)
遭難者