Edit

【pythonでABC216を解説】B - Same Name

問題概要

問題ページ

問題文

\(N\) 人の人がいます。\(i \, (1 \leq i \leq N)\) 人目の人の姓は \(S_i\)、名は \(T_i\) です。

同姓同名であるような人の組が存在するか、すなわち \(1 \leq i \lt j \leq N\) かつ \(S_i=S_j\) かつ \(T_i=T_j\) を満たすような整数対 \((i,j)\) が存在するか判定してください。

制約

  • \(2 \leq N \leq 1000\)
  • \(N\) は整数
  • \(S_i,T_i\) は英小文字のみからなる長さ \(1\) 以上 \(10\) 以下の文字列

問題の考察

ACコード

import sys
import collections


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    n = int(input().rstrip('\n'))
    d = collections.defaultdict(int)
    for i in range(n):
        s, t = list(map(str, input().rstrip('\n').split()))
        d[s, t]
    print("Yes" if len(d) != n else "No")


if __name__ == '__main__':
    solve()

プログラミング

-Edit