반응형
https://www.acmicpc.net/problem/1703
1703번: 생장점
branchorama 나무는 특이한 규칙을 가지고 성장합니다. 어린 branchorama 초목은 하나의 잎을 꼭대기에 가진 가는 묘목이며, 그 잎에는 생장점이 있습니다. 성장하는 계절 동안 나무의 생장점들은 여
www.acmicpc.net
규칙을 찾는 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
나무의 나이 age를 선언하고 level별 생장점, 가지친 나무의 수를 입력받을 vector v를 선언 후 적절히 입력해줍니다.
📔 풀이과정
각 해마다 생장점과 가지치기의 수가 주어지므로 각 해에 대해 loop를 수행합니다. 1. 매 loop마다 현재 나뭇잎은 생장점만큼 늘어나므로 현재 나뭇잎 수 = 현재 나뭇잎 수 * 생장점 - 가지치기한 수 공식이 성립합니다. 이를 지역변수 leaves를 선언해 저장해줍니다. 2. 마지막 해의 나뭇잎 수를 갱신한 결과(leaves)를 출력해줍니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int age;
vector <int> v;
int main(){
while(1){
cin >> age;
if(!age) break;
v.resize(age * 2);
int leaves = 1;
for(int i = 0; i < 2 * age; i++) cin >> v[i];
for(int i = 0; i < age; i++) {
int splitingFactor = v[i*2];
int cut = v[i*2+1];
leaves = leaves * splitingFactor - cut;
}
cout << leaves << '\n';
}
}
'Algorithm > Math' 카테고리의 다른 글
(C++) - 백준(BOJ) 3507 : Automated Telephone Exchange (0) | 2021.11.30 |
---|---|
(C++) - 백준(BOJ) 1975: Number Game (0) | 2021.11.22 |
(C++) - 백준(BOJ) 21335 : Another Eruption (0) | 2021.11.12 |
(C++) - 백준(BOJ) 21185 : Some Sum (0) | 2021.11.11 |
(C++) - 백준(BOJ) 18330 : Petrol (0) | 2021.11.01 |