본문 바로가기

BOJ/C++

[BOJ] 18808. 스티커 붙이기

 

*단순 시뮬레이션 

*스티커가 회전한 결과를 미리 저장한다. 

sticker[100][4][10][10]

0: 0도 

1: 90도

2: 180도 

3:270도 

 

*스티커가 순서대로가 아니라 조합을 구하는 건 줄 알고 시간초과를 걱정했는데

다행히 순서대로 붙이는 것이다. 

 

스티커를 순서대로 불러오면서 4방향을 모두 본다. 

check() 에서는 지금 범위에 스티커를 붙일 수 있는지 없는지를 확인하고, 붙일 수 있으면 넣는다. 

여러 곳을 붙일 수 있으면 가장 위쪽을 선택하는 것이기 때문에 그리디하게 해결할 수 있다. 

 

*스티커의 높이와 너비는 차지하는 칸과 동일하지 않기 때문에 sizes라는 백터배열에 저장한 후 가져왔다. 

 

*코드가 많이 더럽다. 시뮬레이션 문제이니, 풀이 방법만 참고하시길..

 

더보기

 

'BOJ > C++' 카테고리의 다른 글

[BOJ] 1280. 나무심기  (0) 2020.03.30
[BOJ] 2636. 치즈  (0) 2020.03.29
[BOJ] 18809. Gaaaaaaaaaarden  (0) 2020.03.25
[BOJ] 10799. 쇠막대기 (C)  (0) 2020.03.24
[BOJ] 1158. 요세푸스 문제 (C)  (0) 2020.03.24