#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; }
2018.01.06 11:07
정올 - 실력키우기 - 줄자접기(1112)
조회 수 360 추천 수 0 댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. | 좋은아빠되기 | 2019.02.15 | 298 |
공지 | 키보드 화살표값 출력 | 좋은아빠되기 | 2016.11.19 | 1075 |
공지 | 원하는 좌표에 값 출력하기 | 좋은아빠되기 | 2016.11.19 | 2391 |
공지 | Python(파이썬) 학습 자료 PDF 1 | 좋은아빠되기 | 2014.12.10 | 10284 |
공지 | dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) | 좋은아빠되기 | 2014.06.07 | 4713 |
공지 | DEV-C++ 기본 코드 | 좋은아빠되기 | 2013.06.19 | 8243 |
공지 | 무료 C++ 컴파일러(윈도우용) DEV-C++ | 좋은아빠되기 | 2013.06.18 | 18950 |
공지 | 이클립스 C++ 설치 파일들 | 좋은아빠되기 | 2013.06.18 | 37839 |
509 | 회문 구하기 | killerjack | 2014.03.15 | 3188 |
508 | 화살표날아오기 플랫폼수하고 기차길이조정 | killerjack | 2014.02.08 | 1959 |
507 | 화살표 이동 | 박윤택 | 2013.11.30 | 2396 |
506 | 화살표 응용 | 박윤택 | 2013.11.30 | 1698 |
505 | 홀수면 n수까지 홀수 출력 짝수면 n수까지 짝수 출력(승민) | 승민 | 2016.08.20 | 455 |
504 | 홀수 짝수 for문(스민) | 승민 | 2016.03.05 | 532 |
503 | 핵맨 | 선우 | 2017.04.01 | 246 |
502 | 함수3-자가진단4 | 박윤택 | 2014.08.15 | 577 |
501 | 함수2 자가진단7 | 선우 | 2016.07.09 | 146 |
500 | 함수(승민) | 승민 | 2016.08.06 | 103 |
499 | 함수(승민) | 승민 | 2016.06.04 | 113 |
498 | 함수 1 자가진단 8 | 선우 | 2016.06.18 | 120 |
497 | 포인트 | 승민 | 2016.09.10 | 182 |
496 | 테두리(승민) | 승민 | 2016.11.12 | 152 |
495 | 테두리(승민) | 승민 | 2016.11.12 | 136 |
494 | 큰수작은수 나머지수 출력하기(승민) | 승민 | 2016.08.06 | 227 |
493 | 크림빵, 새우깡, 콜라 돈만큼 구입하는 경우의 수 구하기 | killerjack | 2014.02.22 | 4423 |
492 | 최대공약수 최소공배수 | killerjack | 2014.02.15 | 4328 |
491 | 최대공약수 최대공배수 고친거 | killerjack | 2014.02.22 | 2532 |