結果
問題 | No.466 ジオラマ |
ユーザー |
![]() |
提出日時 | 2020-04-30 16:07:52 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,166 bytes |
コンパイル時間 | 234 ms |
コンパイル使用メモリ | 13,056 KB |
実行使用メモリ | 11,264 KB |
最終ジャッジ日時 | 2024-12-16 00:48:51 |
合計ジャッジ時間 | 7,795 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 82 WA * 1 |
ソースコード
from itertools import *from bisect import *from collections import *from heapq import *import syssys.setrecursionlimit(10 ** 6)def II(): return int(sys.stdin.readline())def MI(): return map(int, sys.stdin.readline().split())def LI(): return list(map(int, sys.stdin.readline().split()))def SI(): return sys.stdin.readline()[:-1]def LLI(rows_number): return [LI() for _ in range(rows_number)]def LLI1(rows_number): return [LI1() for _ in range(rows_number)]int1 = lambda x: int(x) - 1def MI1(): return map(int1, sys.stdin.readline().split())def LI1(): return list(map(int1, sys.stdin.readline().split()))p2D = lambda x: print(*x, sep="\n")dij = [(1, 0), (0, 1), (-1, 0), (0, -1)]def main():def ng():print(-1)exit()a,b,c,d=MI()# aを村0「だけ」から、水を受け取る村の数# bを村1「だけ」から、水を受け取る村の数にするa-=cb-=c# すべての村が0,1から受け取るif a==0 and b==0:if c>d:ng()print(a+b+c,c)print(0,1)print(1,0)for i in range(2,c):print(1,i)# 村1「だけ」から受け取る村の数がないelif b==0:if a+c-1>d:ng()print(a+b+c,a+c-1)print(0,1)for i in range(2,a+1):print(0,i)for i in range(a+1,a+c):print(1,i)# 村0「だけ」から受け取る村の数がないelif a==0:if b+c-1>d:ng()print(a+b+c,b+c-1)print(1,0)for i in range(2,b+1):print(1,i)for i in range(b+1,b+c):print(0,i)# 両方から受け取る村がないelif c==0:if a+b-2>d:ng()print(a+b+c,a+b-2)for i in range(2,a+1):print(0,i)for i in range(a+1,a+b):print(1,i)# 全パターンあるelse:if a+b+c-1>d:ng()print(a+b+c,a+b+c-1)print(0,2)print(1,2)for i in range(3,2+a):print(0,i)for i in range(2+a,1+a+b):print(1,i)for i in range(1+a+b,a+b+c):print(2,i)main()