結果
問題 | No.2740 Old Maid |
ユーザー |
![]() |
提出日時 | 2024-04-24 01:37:55 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 266 ms / 2,000 ms |
コード長 | 1,386 bytes |
コンパイル時間 | 242 ms |
コンパイル使用メモリ | 82,440 KB |
実行使用メモリ | 177,736 KB |
最終ジャッジ日時 | 2024-11-06 08:16:47 |
合計ジャッジ時間 | 12,149 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 62 |
ソースコード
class Node:def __init__(self, x):self.x = xself.prev = Noneself.next = Noneclass LinkedList:def __init__(self):self.front = Node(None)self.back = self.frontpassdef append(self, x):node = Node(x)node.prev = self.backself.back.next = nodeself.back = nodereturn nodedef appendleft(self, x):front = self.frontnode = Node(x)next = front.nextif next is None:node.prev = frontfront.next = nodeelse:next.prev = nodenode.next = nextnode.prev = frontfront.next = nodeself.front = nodereturn nodedef remove(self, node: Node):prev = node.prevnext = node.nextassert prev is not Noneprev.next = nextif next is not None:next.prev = prevN = int(input())P = list(map(lambda x: int(x)-1, input().split()))ll = LinkedList()d = {}for p in P:node = ll.append(p)d[p] = nodeused = set()ans = []for i in range(N):if i in used: continuenode = d[i]next = node.nextif next is None: continueans.append(node.x + 1)ans.append(next.x + 1)used.add(node.x)used.add(next.x)ll.remove(node)ll.remove(next)print(*ans)