조회 수 360 추천 수 0 댓글 0

#include <stdio.h>

int dot[3][2];

double ruler(double len);
int main(void)
{
	int i, length;
	double result;

	scanf(" %d", &length); //줄자의 길이 입력

	for(i=0; i<3; i++) //점의 위치 입력 
		scanf(" %d %d", &dot[i][0], &dot[i][1]);

	result=ruler((double)length);

	printf("%.1f", result);

	return 0;
}
double ruler(double len)
{
	int i, j, k;
	double mid;

	for(i=0; i<3; i++)
	{
		if(dot[i][0]!=dot[i][1]) //점이 겹치지 않울 때 
		{
			mid=(double)(dot[i][0]+dot[i][1])/2.0; //점이 겹쳐지는 중점 위치

			if(mid<(len-mid)) //중점을 기준으로 왼쪽보다 오른쪽이 더 길 때
			{
				for(j=i+1; j<3; j++) //중점을 기준으로 줄자를 접고, 시작 위치는 0으로
				{
					for(k=0; k<2; k++)
					{
						if(dot[j][k]>mid) //중점보다 오른쪽에 있거나 같은 점
							dot[j][k]=len-dot[j][k];

						else //중점보다 왼쪽에 있는 점
							dot[j][k]+=len-(mid*2);
					}
				}
				len-=mid; //중점을 기준으로 접은 후 줄자의 길이
			}

			else //중점을 기준으로 오른쪽보다 왼쪽이 더 길 때 
			{
				for(j=i+1; j<3; j++) //중점을 기준으로 줄자 접기
				{
					for(k=0; k<2; k++)
					{
						if(dot[j][k]>mid)//중점보다 오른쪽에 있는 점
							dot[j][k]=mid-(dot[j][k]-mid);

						//중점보다 왼쪽에 있는 점은 이동할 필요가 없다
					}
				}
				len=mid; //중점을 기준으로 접은 후 줄자의 길이
			}
		}
	}

	return len;
}



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. 좋은아빠되기 2019.02.15 298
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1079
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2394
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10303
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4715
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8267
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 18955
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 37860
230 정올 기초다지기(aE005-함수2 5) killerjack 2014.07.26 631
229 정올 기초다지기(aE006-함수2 6) killerjack 2014.07.26 652
228 정올 기초다지기(aE007-함수2 7) killerjack 2014.07.26 984
227 정올 기초다지기(aF001-구조체1) killerjack 2014.10.11 317
226 정올 기초다지기(aF002-구조체1) killerjack 2014.10.11 510
225 정올 기초다지기(aF003-구조체3)ver.단순계산 killerjack 2014.10.25 295
224 정올 기초다지기(aF003-구조체3)ver.배열+그림 killerjack 2014.10.25 423
223 정올 기초다지기(aF004-구조체4) killerjack 2014.10.25 1002
222 정올 기초다지기(aF005-구조체5) killerjack 2014.10.25 443
221 정올 기초다지기(aG001-포인터1) killerjack 2014.11.15 442
220 정올 기초다지기(aG002-포인터2) killerjack 2014.11.15 471
219 정올 기초다지기(aG003-포인터3) killerjack 2014.11.15 428
218 정올 기초다지기(aG004-포인터4) killerjack 2014.11.15 364
217 정올 기초다지기(aG005-포인터5) killerjack 2014.11.22 536
216 정올 기초다지기(구조체-자가진단2) killerjack 2014.10.11 399
215 정올 기초다지기(구조체-자가진단3) killerjack 2014.10.11 309
214 정올 기초다지기(구조체-자가진단4) killerjack 2014.10.11 557
213 정올 기초다지기(구조체-자가진단5) killerjack 2014.10.11 512
212 정올 기초다지기(구조체-자가진단6) killerjack 2014.10.11 851
211 정올 기초다지기(문자열1-자가진단1) killerjack 2014.09.20 589
Board Pagination Prev 1 ... 10 11 12 13 14 15 16 17 18 19 ... 26 Next
/ 26