
문제
모바일 게임을 즐겨 하는 지우는 Jetpack Joyride 에 금새 질렸고 포켓몬 GO를 시작했다! 이 게임의 재미있는 점은 포켓몬을 진화시킬 수 있다는 것이다.
지우가 Pi 라는 포켓몬을 진화시키기 위해서는 해당 포켓몬의 Ki 개의 사탕이 필요하다. 진화가 된 후에는 2개의 사탕을 돌려받는다.
각 포켓몬은 그들 종의 사탕으로만 진화할 수 있다.
지우는 N종의 포켓몬이 있고 Pi 라는 포켓몬의 사탕은 Mi 개를 가지고 있으며 지우는 진화시킬 수 있는 포켓몬의 총 마리수를 궁금해한다.
또한, 지우는 가장 많이 진화시킬 수 있는 포켓몬이 무엇인지 알고 싶어한다. 만약 그런 포켓몬들이 여러 종이 있다면 도감번호가 가장 작은 포켓몬을 출력한다. 즉, 입력 데이터에서 더 먼저 나타나는 포켓몬을 출력하면 된다.
입력
첫 번째 줄에는 포켓몬의 종류 수를 나타내는 N (1 ≤ N ≤ 70)이 주어진다.
그 다음 2N 줄에는 N개의 데이터 세트가 입력되는데
- 2i 번째 줄에는 i번째 포켓몬의 이름을 나타내는 최대길이 20의 Pi 문자열이 주어진다.
- 2i + 1 번째 줄에는 Ki (12 ≤ Ki ≤ 400) , Mi (1 ≤ Mi ≤ 104) 가 주어지는데 각각 i 번째 포켓몬이 진화에 필요한 사탕의 수와 지우가 가지고 있는 i 번째 포켓몬의 총 사탕의 수이다.
출력
첫 번째 줄엔 진화시킬 수 있는 포켓몬의 총 마리수를 출력한다.
두 번째 줄엔 가장 많이 진화시킬 수 있는 포켓몬의 이름을 출력한다.
Solved.ac 레벨
실버 V
풀이
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <bits/stdc++.h> | |
using namespace std; | |
int main(){ | |
ios::sync_with_stdio(false); | |
cin.tie(NULL); | |
cout.tie(NULL); | |
int n, pokemonSum = 0; | |
vector< pair<int, string> > dogam; | |
pair<int, string> maxPokemon; | |
cin >> n; | |
while(n--){ | |
string pokemon; | |
int k, m, cnt = 0; | |
cin >> pokemon; | |
cin >> k >> m; | |
while(m >= k){ | |
m = (m - k) + 2; | |
cnt++; | |
} | |
if(cnt > maxPokemon.first){ | |
maxPokemon.first = cnt; | |
maxPokemon.second = pokemon; | |
} | |
pokemonSum += cnt; | |
} | |
cout << pokemonSum << "\n" << maxPokemon.second << "\n"; | |
return 0; | |
} |
13717번: 포켓몬 GO
첫 번째 예제에서 지우가 어떻게 뿔충이(Weedle)를 진화시켰는지 보자. 처음 진화를 위해 지우는 12개의 사탕을 사용하였지만 2개를 돌려받아 32개의 사탕이 남는다 (42-12+2). 두 번째 진화 후엔 22
www.acmicpc.net
'Study (etc) > Problem Solving' 카테고리의 다른 글
[BOJ / C++] 14652번 : 나는 행복합니다~ (0) | 2022.12.11 |
---|---|
[BOJ / C++] 13301번 : 타일 장식물 (2) | 2022.12.09 |
[BOJ / C++] 10699번 : 오늘 날짜 (0) | 2022.12.03 |
[BOJ / C++] 10384번 : 팬그램 (0) | 2022.12.02 |
[BOJ / C++] 25594번 : HG 음성기호 (1) | 2022.12.01 |