728x90

https://www.acmicpc.net/problem/1592

 

1592번: 영식이와 친구들

일단 1번이 공을 잡는다. 1번은 공을 한 번 잡았기 때문에, 공을 3번에게 던진다. 3번은 공을 한 번 잡았기 때문에, 공을 5번에게 던진다. 5번은 2번에게 던지고, 2번은 4번에게 던진다. 4번은 1번에게 던진다. 1번은 이제 공을 두 번 잡았기 때문에, 공을 4번에게 던진다. 4번은 2번에게 던지고, 2번은 5번에게 던지고, 5번은 3번에게 던지고, 마지막으로 3번은 1번에게 던진다. 1번은 이제 공을 세 번 잡았기 때문에, 게임은 끝난다.

www.acmicpc.net

#include <iostream>
#include <tuple>
#include <vector>
#include <map>
#include <queue>
using namespace std;


int main() {
	int numOfPeople, m, l;
	cin >> numOfPeople >> m >> l;
	vector<int> count(numOfPeople);
	int currentPerson = 0;
	count[currentPerson] = 1;
	int ballTossCount = 0;
	while (true) {
		ballTossCount++;
		if (count[0] % 2 == 0) {
			currentPerson = (currentPerson - l + numOfPeople) % numOfPeople;
		}
		else {
			currentPerson = (currentPerson + l) % numOfPeople;
		}
		count[currentPerson]++;
		if (count[currentPerson] == m) break;
	}
	cout << ballTossCount;
	return 0;
}
728x90

+ Recent posts