21939번 - 문제 추천 시스템 Version 1
add 명령에서 이미 존재하는 문제 번호가 다른 난이도로 다시 들어올 수 있다는게 이미 존재하는 문제의 난이도가 변경된다는 뜻으로 이해했습니다.주석처리한 check.erase({prob[num],num}); 부분이 없어도 정답처리가 됩니다.
제가 이해한 문제는
3100 1101 1102 15recommend -1add 100 2recommend -1add 101 2recommend -1라는 입력을 넣으면 처음엔 100, add 100 2 이후엔 100번 문제의 난이도가 2로 변경되어 가장 쉬운 문제인 101이 출력되어야 맞다고 생각합니다
하지만 저 주석의 코드가 없어지면
3100 1101 1102 14recommend -1add 100 2recommend 1recommend -1
이라는 입력을 했을 때 add 100 2를 통해 100번의 난이도를 2로 변경했음에도 가장 쉬운 문제도 100이 출력되고 가장 어려운 문제도 100이 출력됩니다
이미 있는 번호로 입력이 들어온다는게 한 문제가 여러 개의 난이도를 가질 수 있다는 것을 의미하는 것은 아닐 거 같은데
제가 잘못 생각하고 있는건가요?
"추천 문제 리스트에 없는 문제 번호 $P$만 입력으로 주어진다." 조건이 있으므로 100번 문제가 이미 리스트에 있는 상태에서 add 100을 하는 것은 올바른 명령이 아닙니다. "이전에 추천 문제 리스트에 있던 문제 번호가 다른 난이도로 다시 들어 올 수 있다."라는 말은 이전에 리스트에 있었으나 solved 명령에 의해 리스트에서 제거된 문제가 나중에 다시 추가될 수 있다는 뜻입니다.
add 100
solved
아하 그런뜻이였군요 감사합니다!!
댓글을 작성하려면 로그인해야 합니다.
© 2026 All Rights Reserved. 주식회사 스타트링크 | 서비스 약관 | 개인정보 보호 | 결제 이용 약관 | 도움말 | 광고 문의 | 업데이트 노트 | 이슈 | TODO
한국어 | English (Beta)
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
auddml321 1년 전 0
add 명령에서 이미 존재하는 문제 번호가 다른 난이도로 다시 들어올 수 있다는게 이미 존재하는 문제의 난이도가 변경된다는 뜻으로 이해했습니다.
주석처리한 check.erase({prob[num],num}); 부분이 없어도 정답처리가 됩니다.
제가 이해한 문제는
3
100 1
101 1
102 1
5
recommend -1
add 100 2
recommend -1
add 101 2
recommend -1
라는 입력을 넣으면 처음엔 100, add 100 2 이후엔 100번 문제의 난이도가 2로 변경되어 가장 쉬운 문제인 101이 출력되어야 맞다고 생각합니다
하지만 저 주석의 코드가 없어지면
3
100 1
101 1
102 1
4
recommend -1
add 100 2
recommend 1
recommend -1
이라는 입력을 했을 때 add 100 2를 통해 100번의 난이도를 2로 변경했음에도 가장 쉬운 문제도 100이 출력되고 가장 어려운 문제도 100이 출력됩니다
이미 있는 번호로 입력이 들어온다는게 한 문제가 여러 개의 난이도를 가질 수 있다는 것을 의미하는 것은 아닐 거 같은데
제가 잘못 생각하고 있는건가요?