안녕하세요. 오늘은 분수를 만들거예요.
https://www.acmicpc.net/problem/2863
일단 정답값이 0이상 3이하임은 자명합니다.
하나씩 돌려가면서 최댓값을 구해주면 됩니다.
#include <iostream>
#include <algorithm>
using namespace std;
double arr[2][2] = { 0 };
void turn()
{
swap(arr[0][0], arr[1][0]);
swap(arr[1][0], arr[1][1]);
swap(arr[1][1], arr[0][1]);
}
double now()
{
return arr[0][0] / arr[1][0] + arr[0][1] / arr[1][1];
}
int main(void)
{
ios_base::sync_with_stdio(false); cin.tie(NULL);
cin >> arr[0][0] >> arr[0][1] >> arr[1][0] >> arr[1][1];
double mx = now();
int ans = 0;
for (int i = 1; i < 4; i++)
{
turn();
if (now() > mx)
{
mx = now();
ans = i;
}
}
cout << ans;
}
감사합니다.