pichulia   4년 전

제가 왠만해서는 이런 질문글을 안올리려고 하는데..이건 너무 이상해서 질문글을 올려봅니다.


"각 참가자의 점수는 두 장의 카드에 적힌 숫자를 K로 나눈 나머지의 차이다."

라는 의미는 카드에 적힌 값이 j, k 라면 점수는 abs(j%K - k%K) 임을 의미한다고 생각했고, 이거 말고 다른걸 의미했다면(abs(j-k)%K였다면) 이건 출제자가 혼나아된다고 생각했습니다.

암튼 그래서 점수계산법이 위와 같은 상황이 맞다면 결국 내 점수 (제 코드상에서는 'q'라는 변수로 관리됩니다.)보다 크게 되는 숫자카드 쌍이 최대 몇개이냐를 묻는 문제가 됩니다.

해당 문제를 풀기 위해서 double pointer 기법이랑..뭐 이래저래 자잘한 증명과 함께 해당 문제를 푸는 알고리즘을 구현했고, 게임 참가자 수가 m명이라서 정답은 최대 m-1까지밖에 안된다는것을 반영해서 답을 잘 구했습니다...만... 계속해서 '틀렸습니다'를 받고있기 때문에 이렇게 '맞왜틀'을 시전해봅니다.

중간중간 있는 printf("wahaha")는 가끔 있는 data 오류를 검출하고자 있는 저만의 무결성 검증방식이고... 아쉽게도(?) 이 문제는 데이터의 문제는 없는걸로 판명났습니다 ㅠㅠ

올려둔 코드 중 146번째 줄 부터는 제 코드의 정당성?을 증명하기 위해 작성한 테스트코드로,

bruteforce로 탐색한 정답과, 제 코드의 정답을 비교해서 반례를 찾으려고 시도했던 흔적입니다.

랜덤 데이터는 적당히 다 통과되고 있어서 현재는 가능한 "모든"(이라고 해봤자 a값이 6 이하인 경우만 보고있지만...) 데이터를 다 집어넣어봐서 답을 비교해보고 있는 상태입니다. 질문글을 작성하는동안 p=7인 케이스까지는 틍과가 됐습니다.

djm03178   4년 전

d7733493-c634-4568-82ad-c8bd6f0da9cc

pichulia   4년 전

?!! 저기요?

jh05013   4년 전

🤦

oknkc8   4년 전

안녕하세요. 제6회 한양대학교 프로그래밍 경시대회 운영위원장, 그리고 Beginner Division "상남자 곽철용" 문제를 출제한 한양대학교 성창호입니다.

우선 "상남자 곽철용" 문제 출제에 오류가 있음은 분명하며, 이에 대해 참가자분들과 이제까지 채점하신 분들께 죄송하다는 말씀드립니다.

picuila님께서 질문 초반에 말씀하신 점수는 abs(j%K - k%K)가 맞으며, 솔루션의 로직에 문제가 있었기에 틀리셨던 것 같습니다.

문제가 공개된 이후, 저희 출제진과 검수진은 본 문제에 대해 오류가 있었음을 확인했고, 솔루션 재작성 및 데이터 수정을 진행할 예정입니다.

다시 한번 문제 출제 오류에 대해 죄송하다는 말씀을 드리며, 향후 대회에서는 좀 더 철저한 출제와 검수를 진행하도록 하겠습니다.

감사합니다.

pichulia   4년 전

허허.. 설마했던 데이터 오류였다니... 진실을 알았기 때문에 맘편히 자겠습니다.ㅋㅋㅋㅋㅋ

akswnd98   4년 전

아~~ 글 너무 재밌게 쓰셨어용. 맞왜틀을 시전하신데 ㅋㅋ.

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