結果
| 問題 |
No.3109 Swap members
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-04-19 10:38:17 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 256 ms / 2,000 ms |
| コード長 | 920 bytes |
| コンパイル時間 | 374 ms |
| コンパイル使用メモリ | 12,288 KB |
| 実行使用メモリ | 66,624 KB |
| 最終ジャッジ日時 | 2025-04-19 10:38:28 |
| 合計ジャッジ時間 | 8,646 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 52 |
ソースコード
def YesOrNo(N, K, S, T):
from collections import defaultdict
# グループ分け準備
groups_S = defaultdict(list)
groups_T = defaultdict(list)
for i in range(N):
groups_S[i % K].append(S[i])
groups_T[i % K].append(T[i])
# 各グループ内でソート
# ソートした結果が一致するか銅かをチェック
for menber in range(K):
if sorted(groups_S[menber]) != sorted(groups_T[menber]):
return "No"
return "Yes"
def main():
import sys
input = sys.stdin.read
# 行ごとに取得する
data = input().splitlines()
# 一行目を二つの数値にそれぞれ分割代入
N, K = map(int, data[0].split())
# 2行目からN行目まで取得(N+1)は含まれない
S = data[1:N+1]
T = data[N+1:2*N+1]
result = YesOrNo(N, K, S, T)
print(result)
if __name__ == "__main__":
main()