結果

問題 No.1831 Parasol
ユーザー horitaka1999
提出日時 2022-02-05 11:22:55
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 900 bytes
コンパイル時間 163 ms
コンパイル使用メモリ 82,048 KB
実行使用メモリ 85,632 KB
最終ジャッジ日時 2024-06-11 13:24:49
合計ジャッジ時間 3,818 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample -- * 1
other AC * 1 TLE * 1 -- * 17
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
cnt = [i for i in range(2*N)]
ans = []
def dfs(i,List):
    global cnt
    global ans
    if i == N-1:
        flag2 = True
        flag1 = True
        S = []
        for s in List:
            if cnt[s] >= 2:
                pass
            elif cnt[s] == 1:
                flag2 = False
            else:
                flag2 = False
                flag1 = False
        if flag2:
            for s in List:
                cnt[s]-=2
                S.append(s)
            ans.append(S)
            ans.append(S)

        elif flag1:
            for s in List:
                cnt[s]-=1
                S.append(s)
            ans.append(S)
    else:
        for nx in range(List[i]-1,0,-1):
            if cnt[nx] >= 1:
                dfs(i+1,List + [nx])
for l in range(2*N-1,1,-1):
    dfs(0,[l])
print(len(ans))
for s in ans:
    print(*s)
            
            
    
0