느낀점 및 설명 ¶
문제들이 갈수록 산수를 요구하는 귀찮은 현상이..OTL..ㅠ.ㅜ
간단한 산수를 해서 알고리즘을 만들어 주었다..지만 사실은 매우 간단..
단지 y를 0부터 시작해서 정수 x값이 나오는가 보는 것 뿐이다. 물런 x가 음수값이면 실패..
그럼~ 이만.^^*
간단한 산수를 해서 알고리즘을 만들어 주었다..지만 사실은 매우 간단..
단지 y를 0부터 시작해서 정수 x값이 나오는가 보는 것 뿐이다. 물런 x가 음수값이면 실패..
그럼~ 이만.^^*
무한한 루프의 영광으로 부터 나를 구해내리라~>ㅁ<;;
앞에 훌륭하신 선배님중 한분이 이런 최악의 조건을 만드셔서..
2000000000 앞에 훌륭하신 선배님중 한분이 이런 최악의 조건을 만드셔서..
1 3
1900000000 1900000000
물런 저걸 넣으면 시간이 많이 걸리냐..하면 그건 아니다.ㅎ
바로바로 나오지만 왠지 루프를 많이 돌면 시로~ 그래서 수정..
연산량 축소가 맞는지는 모르겠지만..
모~ 그럼 이만~^^*
바로바로 나오지만 왠지 루프를 많이 돌면 시로~ 그래서 수정..
연산량 축소가 맞는지는 모르겠지만..
모~ 그럼 이만~^^*
소스 ¶
Ver.1 ¶
~cpp
#include <stdio.h>
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 <stdio.h>
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;
}










