알고리즘 문제
[백준] 1592번 영식이와 친구들
feelcoding
2020. 2. 12. 17:46
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