※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 17264번 문제인 I AM IRONMAN이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/17264
17264번: I AM IRONMAN
다들 문제 제목을 보고 요즘 가장 핫한 영화를 생각했겠지만 이 이야기는 LUL(League Us Legends) 게임에서 아이언(Iron) 티어에 있는 형동이의 슬픈 이야기이다. LUL에서 티어는 게임 실력을 판가름할
www.acmicpc.net
같이 게임을 하면 이기는 사람들의 집합을 저장해두자. 같이 게임을 하면 지는 사람들의 집합은 알지 못하는 사람과 같이 항상 질 것이기 때문에 별도로 저장하지 않아도 괜찮다.
위에서 만든 집합을 이용해 게임 진행에 따른 점수의 변화를 시뮬레이션해 문제를 해결하자.
점수가 0 아래로 떨어질 수 없다는 조건에 유의하여 구현하자.
아래는 제출한 소스코드이다.
#include <iostream>
#include <set>
#include <string>
using namespace std;
int N, P, W, L, G;
set<string> st;
int p; bool chk;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N >> P >> W >> L >> G;
while (P--) {
string s; char c; cin >> s >> c;
if (c == 'W') st.insert(s);
}
while (N--) {
string s; cin >> s;
if (st.count(s)) {
p += W;
if (p >= G) chk = 1;
}
else p = max(p - L, 0);
}
if (chk) cout << "I AM NOT IRONMAN!!";
else cout << "I AM IRONMAN!!";
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 17266 // C++] 어두운 굴다리 (1) | 2022.12.24 |
---|---|
[BOJ 26594 // C++] ZOAC 5 (0) | 2022.12.24 |
[BOJ 13698 // C++] Hawk eyes (0) | 2022.12.24 |
[BOJ 5346 // C++] Frodo Sequence (0) | 2022.12.23 |
[BOJ 26711 // C++] A+B (0) | 2022.12.23 |