반응형
https://www.acmicpc.net/problem/2863
2863번: 이게 분수?
문제 상근이는 덧셈과 나눗셈을 엄청나게 못한다. 이런 상근이를 위해 정인이는 상근이에게 다음과 같은 문제를 냈다. 정인이는 양의 정수 A,B,C,D로 이루어진 2*2 표를 그렸다. A B C D 위와 같은 표가 있을 때, 표의 값은 A/C + B/D 이다. 상근이는 표를 몇 번 돌리면 표의 값이 최대가 되는지 궁금해졌다. 표는 90도 시계방향으로 돌릴 수 있다. 문제 상단의 표를 1번 회전 시키면 다음과 같다. C A D B 2번 회전 시키면 다음과 같이
www.acmicpc.net
간단한 노가다 문제였습니다.
Code
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
double a[5];
double ans[4];
for (int i = 1; i <= 4; i++)
cin >> a[i];
ans[0] = a[1] / a[3] + a[2] / a[4];
ans[1] = a[3] / a[4] + a[1] / a[2];
ans[2] = a[4] / a[2] + a[3] / a[1];
ans[3] = a[2] / a[1] + a[4] / a[3];
double rot = 0;
int mini = 10;
//최대값 찾기
for (int i = 0; i < 4; i++)
if (rot < ans[i])
rot = ans[i];
//최대값이 여러개면 가장 작은 회전 수 찾기
for (int i = 0; i < 4; i++)
if (rot == ans[i])
mini = min(mini, i);
cout << mini << '\n';
}
'Algorithm' 카테고리의 다른 글
(C++) - 백준(BOJ) 9517번 : 아이 러브 크로아티아 (0) | 2019.12.30 |
---|---|
(C++) - 백준(BOJ) 3049번 : 다각형의 대각선 (0) | 2019.12.30 |
(C++) - 백준(BOJ) 1267번 : 핸드폰 요금 (0) | 2019.12.30 |
(C++) - 백준(BOJ) 5354번 : J박스 (0) | 2019.12.30 |
(C++) - 백준(BOJ) 2903번 : 중앙 이동 알고리즘 (0) | 2019.12.29 |