๋ฌธ์
์ฝ๋
#include <iostream>
#include <vector>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int N; cin>>N;
vector<int> v;
for(int i=0; i<14; i++){
int inp; cin>>inp;
v.push_back(inp);
}
int jun = 0, sung = 0;
int _N = N;
for(auto it: v){ // ์คํ์ด์ ๋งค์
if(it <= _N){
jun = _N / it;
_N = _N % it;
break;
}
}
jun = _N + (jun * v[13]); // ์คํ์ด์ 14์ผ๋ ์ ๋งค๋
int cnt = 0;
int buy_idx = 1e9;
for(int i=1; i<v.size(); i++){
if(v[i] < v[i-1]) cnt++;
else cnt = 0;
if(cnt >= 3){ // 3์ผ ์ฐ์ ํ๋ฝํ์ ๊ฒฝ์ฐ
if(v[i] <= N){ // ๋งค์ ํ ์ ์์ ๊ฒฝ์ฐ
sung += N / v[i]; // ์ฑ๋ฏผ์ด์ ๋งค์
N = N % v[i];
buy_idx = i; // ๋งค์์ผ ๊ธฐ์ต
}
}
}
cnt = 0;
bool flag = false;
for(int i=buy_idx+1; i<v.size(); i++){
if(v[i] > v[i-1]) cnt++;
else cnt = 0;
if(cnt >= 3){ // 3์ผ ์ฐ์ ์์นํ์ ๊ฒฝ์ฐ
flag = true; // ๋งค๋๋ฅผ ํ์์ ๊ธฐ๋ก
sung = sung * v[i]; // ์ฑ๋ฏผ์ด์ ๋งค๋
break;
}
}
if(!flag) sung = N + (sung * v[13]); // ๋งค๋๋ฅผ ๋ชปํ์ ๊ฒฝ์ฐ 14์ผ์๋ ํ์๋ก ๋งค๋ํด์ผํจ
if(sung > jun) cout<<"TIMING";
else if(sung < jun) cout<<"BNP";
else cout<<"SAMESAME";
}
ํ์ด
๋ฌธ์ ์กฐ๊ฑด ๊ทธ๋๋ก ๊ตฌํ๋ง ํ๋ฉด ๋๋ ๋ฌธ์ ์ ๋๋ค.
- ์คํ์ด๋ ๋จผ์ ์ฒ์์ผ๋ก ๋งค์๋ฅผ ํ ์ ์๋ ๋ ์ด ์์ผ๋ฉด ๋ฌด์กฐ๊ฑด ๊ทธ๋ ์ ์ ๋ถ ๋งค์ํฉ๋๋ค.
- ์คํ์ด๋ ๋ฌด์กฐ๊ฑด 14์ผ ๋ ๋งค๋ํฉ๋๋ค. 1์ 14์ผ์ ์์ฐ์ (ํ๊ธ + 1์ 14์ผ์ ์ฃผ๊ฐ × ์ฃผ์ ์)๋ก ๊ณ์ฐํ๋ค.
- ์ฑ๋ฏผ์ด๋ ์ ์ผ ๋๋น 3์ผ ์ฐ์ ๊ฐ๊ฒฉ์ด ์์นํ์ ๋ ํด๋น ๋ ์ ๋งค์๋ฅผ ํ ์ ์์ผ๋ฉด ์ ๋ถ ๋งค์ํฉ๋๋ค.
- ๋ง์ฝ ์ด๋ฌํ ๋ ์ด ์๋ค๋ฉด ๋งค์ ์์ฒด๋ฅผ ํ์ง ์์ต๋๋ค.
- ์ฑ๋ฏผ์ด๋ ์ ์ผ ๋๋น 3์ผ ์ฐ์ ๊ฐ๊ฒฉ์ด ํ๋ฝํ์ ๋ ์ ๋ถ ๋งค๋ํฉ๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 17276๋ฒ - ๋ฐฐ์ด ๋๋ฆฌ๊ธฐ (0) | 2022.09.15 |
---|---|
[๋ฐฑ์ค,c++] 20436๋ฒ - ZOAC 3 (0) | 2022.09.15 |
[๋ฐฑ์ค,c++] 20164๋ฒ - ํ์ ํ๋ฆฌ ํธ์ (0) | 2022.09.15 |
[๋ฐฑ์ค,c++] 2615๋ฒ - ์ค๋ชฉ (0) | 2022.09.15 |
[๋ฐฑ์ค,c++] 2002๋ฒ - ์ถ์ (0) | 2022.09.15 |
[๋ฐฑ์ค,c++] 11383๋ฒ - ๋ (0) | 2022.09.15 |
๋๊ธ