結果
問題 | No.1727 [Cherry 3rd Tune] Stray |
ユーザー | 👑 SPD_9X2 |
提出日時 | 2021-10-29 22:24:12 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 3,490 ms / 6,000 ms |
コード長 | 1,351 bytes |
コンパイル時間 | 352 ms |
コンパイル使用メモリ | 82,352 KB |
実行使用メモリ | 83,680 KB |
最終ジャッジ日時 | 2024-10-07 11:55:59 |
合計ジャッジ時間 | 6,366 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 8 |
ソースコード
""" 1725: X XYx XYxYXyx XYxYXyx Y XYxyXyx XYxYXyxYXYxyXyx Y XY 1726: コップを水平移動して、最大スコアを求めよ。 800*800*4 800*800の組み合わせに関して、 これだけ水平移動するとこれだけ利得 を全て計算すればよい 1727: 上下反転無しで考えると C**2 通りをN個リング状に並べる通り数である。 2**10通りなので、全探索してしまえばよい """ import sys from sys import stdin TT = int(stdin.readline()) mode = 0 for loop in range(TT): N,C = map(int,stdin.readline().split()) if mode == 0: #愚直 s = set() for i in range(2**(2*N)): bi = format(i,"b").zfill(2*N) flag = True bx = bi[:N] by = bi[N:] for j in range(N): if bx + by in s: flag = False bx = bx[-1] + bx[:-1] by = by[-1] + by[:-1] bx,by = "".join(reversed(by)),"".join(reversed(bx)) #by = "".join(reversed(bx)) #print (bx,by) for j in range(N): if bx + by in s: flag = False bx = bx[-1] + bx[:-1] by = by[-1] + by[:-1] if flag: s.add(bi) print(len(s))