9967han   3년 전

18

1 2 2

1 2 3

2 0 0

1 2 0

1 1 2

1 1 0

2 3 0

3 0 1

3 1 3

2 1 0

1 2 0

2 3 0

2 2 1

1 2 2

3 0 3

1 2 0

2 2 0

3 2 3

ans)
6
10


6

1 1 0

2 1 0

3 1 2

3 0 1

3 0 2

3 0 3

ans)
2
11

6

1 0 0

1 0 2

2 0 0

3 0 2

2 0 1

3 0 3

ans)
1
12

9

1 1 1

2 3 0

3 2 2

3 2 3

3 1 3

2 0 0

1 0 0

2 0 0

3 1 2

ans)
4
12

7

1 0 1

3 0 1

1 0 2

2 2 0

2 2 1

3 0 3

2 3 0

ans)
1
16

10

2 2 1

2 1 1

1 2 3

3 2 3

1 0 0

3 0 3

3 1 3

1 2 3

1 3 3

2 1 2

ans)
1
13

dkssudckdah   3년 전

@9967han 첫번째 반례 정말 감사드립니다.

oownhi88   3년 전

1번 반례 너무 감사합니다 ㅠㅠ 덕분에 해결했어요

mapbox   3년 전

6

1 0 0

1 0 2

2 0 0

3 0 2

2 0 1

3 0 3

ans)
1
12

이 반례 혹시 2/8 아닌가요?

5번째 2 0 1 까지 쌓으면

0 1 1 0

0 0 1 0

1 1 1 0

1 0 1 0

이런 형태고

6번째 마지막 3 0 3 을 투입하면

0 1 1 0

0 0 1 0

1 1 1 1 

1 0 1 1

이렇게 되어 3번째 층이 무너지고

0 0 0 0 

0 0 1 0

0 0 1 0

1 1 1 1 

다시 마지막 층이 4개가 되서 무너지고

0 0 0 0

0 0 0 0

0 0 1 0

0 0 1 0

이 최종적으로 되는게 맞지 않나요 제가 뭘 놓치고 있는지 궁금합니다  

9967han   3년 전

0 1 1 0

0 0 1 0

1 1 1 0

1 0 1 0

이런 형태고

6번째 마지막 3 0 3 을 투입하면

0 0 0 0

0 1 1 0

0 0 1 0

1 0 1 1

입니다! 
무조건 우수수 떨어지는게 아니라, 블록은 블록단위로 내려오게됩니다 

tor012   3년 전

안녕하세요

6

1 1 0

2 1 0

3 1 2

3 0 1

3 0 2

3 0 3

ans)
2
11

해당 테케 답
1
15
아닌가 여쭤봅니다.

dragons6641   3년 전

1번 반례가 해당 문제에서 일어날 수 있는 거의 모든 경우의 수를 다 담고 있는 것 같네요!

덕분에 오류 찾아서 해결했습니다. 정말 감사합니다~

perla9559   3년 전

감사합니다 

문제이해를 잘못했네요

두줄을 삭제할때는 두줄을 한꺼번에 지우고 블럭을 이동시키는거네요


끝에 라인 지우고 옮기고 다시 지우고 옮기고 이게 아니라..

akainoo   3년 전

9

1 1 1

2 3 0

3 2 2

3 2 3

3 1 3

2 0 0

1 0 0

2 0 0

3 1 2

이게 전 지금 
2

20
이 나오는데 전개가 어떻게 되는지 알려주실 수 있나요? 저는 

Blue
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 0 0 0
0 0 0 0 0 0
Green
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 1 0 0

2 3 0
Blue
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 0 0 0
0 0 0 0 2 2
Green
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
2 2 0 0
0 1 0 0

3 2 2
Blue
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 3 0 0
0 0 0 3 2 2
Green
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
2 2 3 0
0 1 3 0

3 2 3
Blue
0 0 0 0 0 0
0 0 0 0 0 1
0 0 3 3 0 0
0 0 3 3 2 2
Green
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 1 3 3

3 1 3
Blue
0 0 0 0 0 0
0 0 3 0 0 0
0 0 3 3 3 0
0 0 0 3 3 2
Green
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 3
0 0 0 3
0 1 3 3

2 0 0
Blue
0 0 0 0 2 2
0 0 3 0 0 0
0 0 3 3 3 0
0 0 0 3 3 2
Green
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 3
2 2 0 3
0 1 3 3

1 0 0
Blue
0 0 0 1 2 2
0 0 3 0 0 0
0 0 3 3 3 0
0 0 0 3 3 2
Green
0 0 0 0
0 0 0 0
0 0 0 0
1 0 0 3
2 2 0 3
0 1 3 3

2 0 0
Blue
0 0 2 2 1 2
0 0 0 3 0 0
0 0 0 3 3 3
0 0 0 0 3 3
Green
0 0 0 0
0 0 0 0
2 2 0 0
1 0 0 3
2 2 0 3
0 1 3 3

3 1 2
Blue
0 0 2 2 1 2
0 0 3 3 0 0
0 0 3 3 3 3
0 0 0 0 3 3
Green
0 0 0 0
0 0 0 0
0 0 0 0
2 2 0 0
1 0 3 3
0 1 3 3

로 나오는데 이렇게 되는게 아닌가요??? 

kipper152   3년 전

@akainoo

3 2 3 부분부터 잘못 되신 것 같습니다.

3 2 2 블록과 3 2 3 블록은 다른 블록입니다.

아래와 같이 나오면 됩니다.


0 0 0 0 0 0

0 0 0 0 0 1

0 0 0 0 0 0

0 0 0 0 0 0


0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 1 0 0

0 0 0 0 0 0

0 0 0 0 0 1

0 0 0 0 0 0

0 0 0 0 2 2


0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

2 2 0 0

0 1 0 0

0 0 0 0 0 0

0 0 0 0 0 1

0 0 0 3 0 0

0 0 0 3 2 2


0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

2 2 3 0

0 1 3 0

0 0 0 0 0 0

0 0 0 0 0 1

0 0 4 3 0 0

0 0 4 3 2 2


0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 1 3 4

0 0 0 0 0 0

0 0 5 0 0 0

0 0 5 4 3 0

0 0 0 4 3 2


0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 5

0 0 0 5

0 1 3 4



0 0 0 0 6 6

0 0 5 0 0 0

0 0 5 4 3 0

0 0 0 4 3 2


0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 5

6 6 0 5

0 1 3 4

0 0 0 7 6 6

0 0 5 0 0 0

0 0 5 4 3 0

0 0 0 4 3 2 



0 0 0 0

0 0 0 0

0 0 0 0

7 0 0 5

6 6 0 5

0 1 3 4



0 0 8 8 7 6

0 0 0 5 0 0

0 0 0 5 4 3

0 0 0 0 4 3


0 0 0 0

0 0 0 0

8 8 0 0

7 0 0 5

6 6 0 5

0 1 3 4

0 0 8 8 7 6

0 0 9 5 0 0

0 0 9 5 4 3

0 0 0 0 4 3


0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

hepari2154   3년 전

6

1 0 0

1 0 2

2 0 0

3 0 2

2 0 1

3 0 3

ans)
1
12

이 테케 마지막이 초록은

0 0 0 0

0 0 0 0

0 0 0 0

0 1 1 0

0 1 1 0

1 0 1 1

파랑은

0 0 0 0 0 0

0 0 0 0 0 1

0 0 1 1 1 1

0 0 1 1 1 0


이렇게 나와서 답이

1

15

아닌가요??

hooya   3년 전

I LOVE YOU

preview

stam0325   9달 전

안녕하세요. 문제를 풀다가 문제 지문과 맞지 않는 답이 있는 것 같아 질문 드립니다.

제가 입력했던 예제는 아래와 같습니다.

7
1 0 1
3 0 1
1 0 2
2 2 0
2 2 1
3 0 3
2 3 0

1

16

저는 위 테스트케이스의 답이

2

12

가 나옵니다.

답이 도출되기까지의 과정은 엑셀로 업로드했습니다.(질문.xlsx)

인터넷에서 정답을 맞춘 소스 코드에 위 테스트케이스를 넣고 정답 도출 후의 blue, green 영역을 조회해보니,

blue 영역 :

[[0, 0, 0, 6, 3, 1],

[0, 0, 0, 6, 0, 0],

[0, 0, 0, 5, 5, 4],

[0, 0, 0, 0, 0, 7]]

green 영역 :

[[0, 0, 0, 0],

[0, 0, 0, 0],

[7, 7, 0, 0],

[0, 5, 5, 0],

[4, 4, 0, 0],

[0, 2, 0, 6]]

로 나오는데, blue 영역에서 (x,y)=(1,3) 의 칸이 왜 채워져 있는 것인가요?

문제의 지문에 따르면, "초록색 보드에서 어떤 행이 타일로 가득 차 있다면, 그 행의 타일은 모두 사라진다. 사라진 이후에는 초록색 보드에서 각 블록이 다른 블록을 만나거나 경계를 만나기 전까지 아래로 이동한다. 파란색의 경우는 열이 타일로 가득 차 있으면, 그 열의 타일이 모두 사라지며, 사라진 이후에는 파란색 보드에서 각 블록이 다른 블록을 만나거나 경계를 만나기 전까지 오른쪽으로 이동한다" 라고 되어 있기 때문에,

(x,y) = (1,5) 칸이 채워져 있어야 하는 것 아닌가요?

제 코드에서 따 온 디버깅 과정 프로세스의 (red 영역이 포함된) blue 영역에서 따오자면, 마지막에 t x y 로 2 3 0 이 입력된 후,

1) 블록 이동

[[0, 0, 0, 0, 0, 0, 1, 1, 1, 1],

[0, 0, 0, 0, 0, 0, 1, 0, 1, 0],

[0, 0, 0, 0, 0, 0, 1, 1, 1, 1],

[0, 0, 0, 0, 0, 0, 0, 0, 1, 1]]

2) 오른쪽에서 두 번째 열 삭제(ans+=1) 및 블록 이동(각 블록이 다른 블록을 만나거나 경계를 만나기 전까지 아래로 이동. 따라서, 2행의 블록은 경계를 만나기 전까지 맨 오른쪽 열로 이동).

ans = 1

[[0, 0, 0, 0, 0, 0, 0, 1, 1, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 0, 1, 1, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1]]

3) "블록의 이동 때문에, 다시 행이나 열이 타일로 가득차는 경우가 또 발생할 수도 있다. 이 경우에도 1점을 얻고, 그 행이나 열의 모든 타일을 제거하고 다시 나머지 블록을 이동하면 된다" 에 근거하여, 맨 오른쪽 열 삭제(ans+=1) 및 블록 이동(각 블록이 다른 블록을 만나거나 경계를 만나기 전까지 아래로 이동. 따라서, 2행의 블록은 경계를 만나기 전까지 맨 오른쪽 열로 이동)

ans=2
[[0, 0, 0, 0, 0, 0, 0, 0, 1, 1],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0, 0, 1, 1],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

4) 이 때 green 영역은, 연한 색 칸을 처리한 결과 아래와 같은 상태가 된다.

[[0, 0, 0, 0],

[0, 0, 0, 0],

[0, 0, 0, 0],

[0, 0, 0, 0],

[0, 0, 0, 0],

[0, 0, 0, 0],

[1, 1, 0, 0],

[0, 1, 1, 0],

[1, 1, 0, 0],

[0, 1, 0, 1]]

5) 정답은

2

12

라고 나올 것 같은데, 실제 정답은 그렇지 않아 질문 드립니다.

댓글을 작성하려면 로그인해야 합니다.