pv104   4년 전

50%에서 틀리는데 아무리 봐도 모르겠어서 열심히 반례를 찾다가, 해도 해도 안 돼서 다시 코드 보고 예제 보고 있었는데

알고보니까 이 문제 n이 0이어도 빈 배열인 []을 입력받습니다.

저같은 경우에는 n이 1 이상일때만 cin으로 배열을 입력받았는데 이게 문제가 되어서 n이 0일때 입력받지 않게 되지만 실제 입력은 []을 콘솔로 입력받게 되고,

이 []이 버퍼에서 비워지지 않으면 다음 입력에 영향을 끼쳐 잘못된 입력이 들어가는 것으로 판단됩니다.


저는 n이 0일때도 입력받도록 설정했는데 (getline(cin,str); 처럼)

cin.ignore(); 하셔도 맞을 것 같구요. 반례 놓고 갑니다

input: 

3

D 0 [] 

R 0 []

R 0 []

output:

error

error

[]

answer:

error

[]

[]

tngus1140   4년 전

저는 틀리는게 아니라 50%에서 시간초과로 고생이였는데..

직접 swap으로 dq를 돌려주는게 아니라 돌려주는 것 처럼 보이게 만드는게 핵심이였네요..ㅎㅎ

덕분에 좋은 설계 알아갑니다~

wlsdndml213   4년 전

감사하바바바밥니다!@

jinkoo906   3년 전

와 왜틀리나 했는데 덕분에 찾았습니다 진짜 상상도 못했네요 

덕분에 시간 많이 아낀거같습니다 몇시간을 더 날렸을지 상상도 하기 싫네요 혼자선 못찾고 포기했을거같아요 진짜 고맙습니다

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