[BOJ B3][C++] λ°±μ€ 2863λ²: μ΄κ² λΆμ?
https://www.acmicpc.net/problem/2863
2863λ²: μ΄κ² λΆμ?
첫째 μ€μ νλ₯Ό λͺ λ² λλ €μΌ νμ κ°μ΄ μ΅λκ° λλμ§ μΆλ ₯νλ€. λ§μ½, κ·Έλ¬ν κ°μ΄ μ¬λ¬κ°λΌλ©΄ κ°μ₯ μμ κ°μ μΆλ ₯νλ€.
www.acmicpc.net
λ¬Έμ
μκ·Όμ΄λ λ§μ κ³Ό λλμ μ μμ²λκ² λͺ»νλ€. μ΄λ° μκ·Όμ΄λ₯Ό μν΄ μ μΈμ΄λ μκ·Όμ΄μκ² λ€μκ³Ό κ°μ λ¬Έμ λ₯Ό λλ€.
μ μΈμ΄λ μμ μ μ A,B,C,Dλ‘ μ΄λ£¨μ΄μ§ 2*2 νλ₯Ό κ·Έλ Έλ€.
A | B |
C | D |
μμ κ°μ νκ° μμ λ, νμ κ°μ A/C + B/D μ΄λ€.
μκ·Όμ΄λ νλ₯Ό λͺ λ² λ리면 νμ κ°μ΄ μ΅λκ° λλμ§ κΆκΈν΄μ‘λ€.
νλ 90λ μκ³λ°©ν₯μΌλ‘ λ릴 μ μλ€.
λ¬Έμ μλ¨μ νλ₯Ό 1λ² νμ μν€λ©΄ λ€μκ³Ό κ°λ€.
C | A |
D | B |
2λ² νμ μν€λ©΄ λ€μκ³Ό κ°μ΄ λλ€.
D | C |
B | A |
νμ μ°μ¬ μλ A,B,C,Dκ° μ£Όμ΄μ‘μ λ, νλ₯Ό λͺ λ² νμ μμΌμΌ νμ κ°μ΄ μ΅λκ° λλμ§ κ΅¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ Aμ Bκ° κ³΅λ°±μΌλ‘ ꡬλΆλμ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€μ Cμ Dκ° κ³΅λ°±μΌλ‘ ꡬλΆλμ΄ μ£Όμ΄μ§λ€. λͺ¨λ μλ 100λ³΄λ€ μκ±°λ κ°μ μμ μ μμ΄λ€.
μΆλ ₯
첫째 μ€μ νλ₯Ό λͺ λ² λλ €μΌ νμ κ°μ΄ μ΅λκ° λλμ§ μΆλ ₯νλ€. λ§μ½, κ·Έλ¬ν κ°μ΄ μ¬λ¬κ°λΌλ©΄ κ°μ₯ μμ κ°μ μΆλ ₯νλ€.
νμ΄
// Authored by : seondal
// Co-authored by : -
// #include <bits/stdc++.h>
#include <iostream>
#include <vector>
using namespace std;
// table
// [0][1]
// [2][3]
int solution (vector<float>&table) {
pair<int, float> ans;
for(int i=0; i<4; i++) {
// ν
μ΄λΈ κ° κ³μ°
float value = (table[0]/table[2] + table[1]/table[3]);
if(ans.second < value)
ans = {i, value};
// ν
μ΄λΈ λ리기
vector<float> tmp = table;
table[1] = tmp[0];
table[3] = tmp[1];
table[2] = tmp[3];
table[0] = tmp[2];
}
return ans.first;
}
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
vector<float> table(4);
for(int i=0; i<4; i++)
cin >> table[i];
cout << solution(table);
return 0;
}
/*
*/