https://www.acmicpc.net/problem/17470
백준 배열돌리기5 17470임.
돌리기 1~6구현은 성공적으로 끝냈고 배열을 4분할 한 다음에 각끝의 점 4개씩 뽑아서 4X4배열을 만들고
이 4X4배열을 성공적으로 1~6돌려내는데 까지는 성공함. 조건 따라서 배열 크기가 4X4보다 미만일때는 걍 좌표 압축 하지 말고 깡으로 돌리도록 조건문 걸어놓음.
여기까지는 OK인데. 문제는 저 4X4 좌표압축 배열을 시행을 다 끝낸 뒤에 원본크기로 되돌리는데 어떻게 되돌려야 되는지 도저히 아이디어가 안떠오른다.
잽알 뉴비좀 살려줘라.... 너무 빡친다.
존나 화나서 잠이 안온다... 고수님들 재발 알려주세요 흑흑
사분할한 부분들이 뒤집혔는지도 체크해야 되지 않음?
그.... 4분할한 부분들을 그냥 맞춰서 돌리면 알라서 뒤집혀짐. 그건 문제가 안됨. 그냥 다 돌리고 나서 이 압축한 배열을 원본으로 돌리는걸 구현을 못하겠어...
난 이거 예제 다 맞는데 제출 하자마자 틀렸습니다 뜨는데 왜이러는거냐
이거 돌려봐
https://pastebin.com/raw/p1fAQvK7
오 뭐야 그렇네 ㄱㅅ
이거 보고 고쳤는데 이번엔 1%에서 틀림
8x8로 압축은 안됨?
연산 1,2를 reverse, 3,4를 rotate, 5, 6을 shuffle 이라고 부르면,
reverse에 대한 상태 4개 * rotate에 대한 상태 4개 * shuffle에 대한 상태 4개 로 모든 상태를 나타낼 수 있다고 보고, 연산 모두 다 수행한 뒤의 상태에 맞게 출력하니까 나왔어여
잠시만 잠시만
엄밀히 따지면 64개보다는 좀 더 degenerate? 되어있을 거 같긴 한데 그냥 했음..
좀만더 자세히 설명해주세요
되는 대로 막 풀어서 표기가 좀 깔끔하지 않을 수 있는데.. reverse에 대해서는 최초 상태를 1, 1에서 좌우반전한 상태를 2, 1에서 상하반전한 상태를 3, 2에서 상하반전한 상태를 4(이건 3에서 좌우반전한거랑 같음)로 나타내고
rotate에 대해서는 최초 상태를 0, 시계방향으로 90도 돌리면 +1씩, 반시계방향으로 90도 돌리면 -씩 표현하고(물론 MOD 4 해서) shuffle에 대해서도 마찬가지로 최초 0, 시계방향 셔플은 +1, 반시계 셔플은 -1 했어요
단, reverse 상태가 2나 3일 때는, 시계/반시계 방향 취급을 반대로함 (거울에 비치고 있다고 생각하면 될듯)
1,2번 연산이 3,4 5,6에 영향을 끼치고 막 섞이지 않나요? 이걸 어떻게 구분하셨나요
선생님 혹시 코드좀 받을 수 있을까요 으아ㅏㅏㅏ
그럼 최초 (1, 0, 0) 상태에서 출발해서... 예를들어서 좌우반전하면 (2, 0, 0), 여기서 shuffle 시계방향하면 (2, 0, 3) 이런 식으로... R번 연산 다 진행하고나서 그 상태에 맞게끔 인덱스 잘 조절해서 출력했어요
이게... 저도 헷갈리긴 하는데 잘 따져보면 1,2 / 3,4 / 5,6 연산이 서로 독립적인거 같더라구여
https://www.acmicpc.net/source/48393002
그냥 생각나는 대로 풀어서 코드는 좀 지저분해요... 더 깔끔하게 할 여지가 많은 코드임 ㅠ
선생님 not found가 뜹니다 으아아ㅏ
http://colorscripter.com/s/nEKtBDZ
와 이게 무슨.... 123456은 좆까고 상태에 맞게 다시구현 하신건가요? 자바만 한 뉴비라 c++코드 읽기가 어렵네요
16~33 라인 보시면 123456 입력 받아서 그냥 순차적으로 상태 쭉 계산했어요 c++코드 어느 부분이 헷갈리시나여
a ans ans2 3, qq는 뭐하는 배열인가요?
아 qq가 그 규칙이군요
아하 이거 quadrant rot shuf 3가지 상태를 계산한 이후에는 이 순차적으로 해당 연산들을 실행해도 서로 영향을 안주는 건가요?
혹시 배열크기를 그냥 처음부터 110으로 선언하신 이유가 있나요?
와 그래도 천천히 하나하나 뜯어보니까 뭔말인지 알것 같습니다. 1~6까지는 다 구현을 해놨는데 선생님 식을보고 정비해서 완성해 봐야겠습니다. 결국 주어지는 지시명령을 미리 연산해서 배열을 최소한으로만 돌리개 만드는 것인데 어유 감사합니다. 뭔가 보입니다.
뭐지 1%에서 틀렸습니다 나옵니다. 끄아ㅏㅏㅏㄱ
https://www.acmicpc.net/source/48393549
왜 1%에서 틀리는 걸까요... 테케는 모두 맞췄는데. 눈물이 납니다 ㅠㅠ
http://colorscripter.com/s/3k0qpw1
어... 제가 악으로 깡으로 테케 늘리면서 해봤는데요. 1이나 2번 연산이 3번을 넘어가기 시작하면 56번 연산 부분이 반대로 돕니다. 그래서 56번 조정하니 이제는 34번이 반대로 돌고요. 선생님 생각과는 다르게 경우의 수를 더 고려해야 할 것 같네요. 뭔가 될듯도 한데 오늘은 너무 졸려서 있다가 하는걸로...
헐 그런가여... 혹시 테케 공유 가능할까여?? 풀고 나서 다른 맞은 분들 풀이보니 비슷한 방식인거 같아서 안심하고 있었는데 ㅠ