U E D R , A S I H C RSS

Marbles/조현태

느낀점 및 설명

문제들이 갈수록 산수를 요구하는 귀찮은 현상이..OTL..ㅠ.ㅜ
간단한 산수를 해서 알고리즘을 만들어 주었다..지만 사실은 매우 간단..
단지 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;
}

저에게 할말

짱! 잘했네 - 보창
└헤헤헤..>ㅁ<;; 보창선배님이 짜는거에 비하면 전혀 아니지만..
그래도 모처럼 칭찬해주시니 감사해용~♡ 헤....^0^- 조현태

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:44
Processing time 0.0112 sec