== 느낀점 및 설명 == 문제들이 갈수록 산수를 요구하는 귀찮은 현상이..OTL..ㅠ.ㅜ 간단한 산수를 해서 알고리즘을 만들어 주었다..지만 사실은 매우 간단.. 단지 y를 0부터 시작해서 정수 x값이 나오는가 보는 것 뿐이다. 물런 x가 음수값이면 실패.. 그럼~ 이만.^^* 무한한 루프의 영광으로 부터 나를 구해내리라~>ㅁ<;; 앞에 훌륭하신 선배님중 한분이 이런 최악의 조건을 만드셔서.. 2000000000 1 3 1900000000 1900000000 물런 저걸 넣으면 시간이 많이 걸리냐..하면 그건 아니다.ㅎ 바로바로 나오지만 왠지 루프를 많이 돌면 시로~ 그래서 수정.. 연산량 축소가 맞는지는 모르겠지만.. 모~ 그럼 이만~^^* == 소스 == === Ver.1 === {{{~cpp #include int Get_answer(int, int, int, int, int); void main() { while(1) { int x_1, x_2, y_1, y_2, beads, answer_1=0, answer_2=0; printf("구슬의 개수를 입력하세요.(단, 0은 종료)\n>>"); scanf("%d",&beads); if (0==beads) break; printf("테스트 케이스의 내용을 입력해 주세요.\n>>"); scanf("%d %d",&x_1,&x_2); printf(">>"); scanf("%d %d",&y_1,&y_2); while(0==(answer_1=Get_answer(answer_1,answer_2,x_2,y_2,beads))) ++answer_2; if (answer_1<0) printf("failed\n"); else printf("결과 : %d, %d",answer_1,answer_2); } } int Get_answer(int answer_1, int answer_2, int x_2, int y_2, int breeds) { int temp=answer_2*y_2*(-1)+breeds; if (0!=temp%x_2 && temp/x_2>=0) return 0; return temp/x_2; } }}} === Ver.2 === {{{~cpp #include int Get_answer(int*, int*, int, int, int); const int FALSE=-1; const int TRUE=0; void main() { while(1) { int x_1, x_2, y_1, y_2, beads, answer_1=0, answer_2=0; printf("구슬의 개수를 입력하세요.(단, 0은 종료)\n>>"); scanf("%d",&beads); if (0==beads) break; printf("테스트 케이스의 내용을 입력해 주세요.\n>>"); scanf("%d %d",&x_1,&x_2); printf(">>"); scanf("%d %d",&y_1,&y_2); if (FALSE==Get_answer(&answer_1,&answer_2,x_2,y_2,beads)) printf("failed\n"); else printf("결과 : %d, %d",answer_1,answer_2); } } int Get_answer(int* answer_1, int* answer_2, int x_2, int y_2, int breeds) { if (y_2==x_2 || x_2==breeds) return FALSE; if (0!=(breeds%x_2)%(y_2%x_2)) return FALSE; *answer_2=(breeds%x_2)/(y_2%x_2); *answer_1=((*answer_2)*y_2*(-1)+breeds)/x_2; if (*answer_1<0) return FALSE; return TRUE; } }}} == 저에게 할말 == 짱! 잘했네 - 보창 └헤헤헤..>ㅁ<;; 보창선배님이 짜는거에 비하면 전혀 아니지만.. 그래도 모처럼 칭찬해주시니 감사해용~♡ 헤....^0^- [조현태] ---- [AOI] [Marbles]