ACM 문제 하나 도와주세요 ㅠㅠ
빛글
질문 제목 : ACM 문제 풀이 좀 도와주세요!질문 요약 :ACM 문제를 풀고있는데 논리상 어디가 틀렸는지 도저히 모르겠습니다 ㅜㅜ질문 내용 :
http://www.acmicpc.net/JudgeOnline/problem.php?id=1059여기에 있는 문제입니다.
상당히 쉬운 문제인 것 같은데 제가 문제를 잘못파악하고 있는지 자꾸 Wrong Answer 가 되더군요 ㅠ
제가 생각한 풀이는 일단 Lucky Set 을 오름차순으로 정렬하고 N 보다 처음으로 큰 숫자와 처음으로 작은 숫자의 위치를 찾아서
큰 수와 작은 수의 차를 이용하는 방식을 이용한 것입니다.
그런데, 처음 코딩했을 때처음으로 큰 숫자가 나타나는 위치를 i 라고 하고, 처음으로 작은 숫자가 나타나는 위치를 i-1로 두고문제 풀이를 했는데요, 문제 조건에 N은 Lucky Set에서 가장 큰 수보다 작거나 같은 자연수이다. 라고 했으니i-1 의 위치에 있는 값이 N이 될 수도 있어서두 위치를 따로 찾았습니다. (물론, Lucky Set의 가장 큰 숫자가 N과 같아서, i가 L을 초과했을 때 i-1 위치의 값이 N이 되겠죠)
또한 N의 값이 Lucky Set의 모든 숫자보다 작을 수도 있기 때문에 계산의 편의상 Lucky Set의 가장 처음 숫자는 0으로 했습니다.
그리고 Lucky Set에 숫자 N이 있는 경우에는 만족하는 Unlucky 구간이 없으므로 0을 출력하도록 했습니다.
제가 어디를 잘못 파악했거나 간과한 것일까요 ㅜㅜ 아님 코딩 문제일까요 ㅜㅜ 도저히 모르겠습니다 ㅜㅜ
제 소스코드를 올리겠습니다.
================================================================
#include stdio.h#include algorithmusing namespace std;FILE *inf = fopen(input.txt,r), *outf = fopen(output.txt, w);//FILE *inf = stdin, *outf = stdout;int L, N;int lucky[55] = {0};int main(void){ int i, j, count = 0; fscanf(inf,%d, &L); for(i = 1; i = L; i++) fscanf(inf, %d, &lucky[i]); sort(lucky+1,lucky+L+1); fscanf(inf,%d, &N); lucky[L+1]= N+1; for(i = 1; i = L; i++) if(lucky[i] N) break; for(j = L; j 0; j--) if(lucky[j] N) break; if(lucky[i-1] == N) fprintf(outf,0); else fprintf(outf,%d, lucky[i] - lucky[j] - 2); return 0;}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |