Notice
Recent Posts
Recent Comments
Link
DY의 세상구경
문제은행 강아지와 병아리(C++) 본문
반응형
1001 : 강아지와 병아리
제한시간: 1Sec 메모리제한: 32mb
해결횟수: 1117회 시도횟수: 4383회
강아지와 병아리의 합과 다리의 수를 입력받아 강아지와 병아리가 각각 몇 마리씩인지 구하는 프로그램을 작성하시오.
![]() 25 80 15 10 1500 20000 0 0 | ![]() 15 10 0 INPUT ERROR! |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | /************************************************************** Problem: 1001 User: a132034 Language: C++ Result: Success Time:0 ms Memory:1740 kb ****************************************************************/ #include <iostream> using namespace std; int main() { int a, b; int x, y; while (1) { cin >> a >> b; if (a == 0 && b == 0) return 0; if (a > 1000 || b > 4000 || a < 0 || b < 0) { cout << "INPUT ERROR!" << endl; continue ; } x = (b - 2 * a) / 2; y = a - x; if (x <= 0 || y <= 0 || 4*x+2*y != b) cout << 0 << endl; else cout << x << " " << y << endl; } return 0; } |
강아지를 x 병아리를 y로 생각했을 떄
강아지 수 + 병아리 수 = x + y = a
강아지 다리 수 + 병아리 다리 수 = 4x + 2y = b
식을 풀어보면
4x + 2y = b
- 2x + 2y = 2a
2x = b - 2a -> x = (b - 2a)/2
y = a - x
만약 x나 y가 0보다 작거나 이렇게 구한 x,y를 다른 식에 대입했을 때 다른 값이 나온다면 정할 수 없으므로 0 출력
반응형
'IT > ALGORITHM' 카테고리의 다른 글
실력키우기 곱셈(JAVA) (0) | 2016.04.14 |
---|---|
문제은행 합과 평균 표준편차(C++) (0) | 2016.04.13 |
문제은행 두 정수 더하기(A+B)(C++) (0) | 2016.04.13 |
실력키우기 대각선 지그재그(JAVA) (0) | 2016.04.12 |
실력키우기 문자삼각형1(JAVA) (0) | 2016.04.12 |