본문 바로가기

Algorithm/Simulation

Baekjoon 17264 I AM IRONMAN

Link https://www.acmicpc.net/problem/17264

소스결과 2124 KB / 0 ms

출처 Baekjoon

언어 C++ 17

분류 시뮬레이션

 

설명

형동이가 아이언 티어를 탈출할지 못할 지 예측해서 알려주자.

 

불쌍

 

알고리즘

1. 반드시 이기는사람, 지는사람을 입력받는다.

2. 각 경우에 대해서 이겼을 때, 졌을 때의 점수를 추가하거나 뺀다.

3. 점수가 음수로 가게 되는 경우 0으로 보정해준다.

4. 중간에 한번이라도 100을 넘게 된다면 긍정의 출력을, 아닌경우 부정의 결과를 출력한다.

 

소스코드

 

#include <iostream>
#include <string>
#include <vector>

using namespace std;

vector<string> win;
vector<string> lose;

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);

	int n, p; cin >> n >> p;
	int w, l, g; cin >> w >> l >> g;

	for (int i = 0; i < p; i++) {
		string name;
		char ch;

		cin >> name >> ch;

		if (ch == 'W')
			win.push_back(name);
		else
			lose.push_back(name);
	}

	int score = 0;

	for (int i = 0; i < n; i++) {
		string name; cin >> name;

		bool foundWin = false;
		for (int i =0; i < win.size(); i++)
			if (win[i] == name)
			{
				foundWin = true;
				break;
			}
		if (foundWin)
			score += w;
		else {
			if (score < l)
				score = 0;
			else
				score -= l;
		}

		if (score >= g)
			break;
	}

	if (score < g)
		cout << "I AM IRONMAN!!";
	else
		cout << "I AM NOT IRONMAN!!";

	return 0;
}

'Algorithm > Simulation' 카테고리의 다른 글

Baekjoon 2164 카드 2  (0) 2019.11.11
Baekjoon 17289 에니그마  (0) 2019.08.21
Baekjoon 17292 바둑이 포커  (0) 2019.08.21
Baekjoon 17254 키보드 이벤트  (0) 2019.08.21
Baekjoon 17144 미세먼지 안녕!  (0) 2019.04.18