코포나 앳코더를 하다보면 맞왜틀이 상당히 많이 나옴
맞왜틀하는 경우는 알고리즘이나 발상이 완전히 잘못되었을수도 있지만 보통 special case 처리, 또는 구현에서 문제가 있는 경우가 대부분인 것 같음.
이럴 때 내가 자주 쓰는 방법이 bruteforce 솔루션을 만들고, 테스트케이스 무작위로 만들어서 넣어보는거임
브루트포스는 O(N!)정도 잡고 N <= 10 정도 테스트케이스 랜덤으로 만들어서 넣어서 내가 제출한 답안과 비교해보면 틀리는 테스트케이스들이 거의 나옴.
비슷하게 Constructive 문제는 가능한 솔루션 전부 출력해서 규칙 찾아서 풀거나,
Interactive 문제는 채점기 만들어서 오류 찾은다음에 풀기도 했음
이거 덕분에 레이팅 최소 +100점은 더 얻은거 같은데 대회중에 시간이 널널하거나 도저히 모르겠을때 한번 시도해봐
그거 할 시간이 됨? 놀랍네
ㄹㅇ 저거그냥 로컬에서 스트레스돌리는건데 코딩속도 엄청 빨라야될듯
oi에서도 가끔 써먹는 방법임 5시간에 3문제니까 내가 로직이 틀렸는지 구현 미스가 났는지 알아볼 때 써먹을 수 있는 좋은 방법임
실제로 랜덤 데이터 만드는 방법이라고 삼소멤 블로그에 글이 하나 게시되어 있음. 분명 좋은 거긴 한데 내가 아직 손을 안 댐 ㅋㅋ;;;
저거는 코포보다는 OI류 대회에 어울리긴 함 ㅇㅇ OI류 대회는 4문제 4시간 3문제 5시간 이래서 저거 연습해두면 의외로 되게 좋음
나 현역때 대회 채점 서버가 터져서 못 채점했었어서 O(N^2)이랑 NlgN이랑 둘 다 짜서 비교해보는 방식으로 풀었었는데 진짜 꼭 연습해둬야됨