백준 문제풀이

백준 21133 - N-Queen 2 [Python]

Vermeil 2021. 3. 12. 22:40

https://www.acmicpc.net/problem/3344

 

3344번: N-Queen

첫째 줄에 N이 주어진다. N은 8, 26, 213, 2012, 99991, 99999중 하나이다.

www.acmicpc.net

www.acmicpc.net/problem/21133

 

21133번: N-Queen 2

N개의 줄을 출력해야 한다. i번째 줄에는 하나의 정수를 출력해야 하고, 이 정수는 i번째 행에 있는 퀸이 있는 열의 번호이다.

www.acmicpc.net

왜 또 constructive지?

 

3344랑 코드는 같다.

 

 

6k+2, 6k+3에서 안되는거 알고 찾다가 도저히 모르겠어서 위키에서 찾고 그대로 구현했는데.. 좀 그렇다...

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
= int(input())
= n//2
ans = []
if n%6 == 2:
    for i in range(1, t+1):
        print(i*2)
    print(3)
    print(1)
    for i in range(3, t):
        print(i*2 + 1)
    print(5)
elif n%6 == 3:
    for i in range(2, t+1):
        print(i*2)
    print(2)
    for i in range(2, t+1):
        print(i*2 + 1)
    print(1)
    print(3)
else:
    for i in range(1,t+1):
        print(i+t)
        print(i)
    if n&1:
        print(n)
cs