Sunday, June 7, 2015

UVa 440 - Eeny Meeny Moo

// UVa 440 - Eeny Meeny Moo

#include <iostream>
#include <deque>
using namespace std;

int main() {
	int n;
	cin >> n;
	while (n) {
		int m = 2;
		for (;; m++) {
			deque<int> deq;
			for (int i = 1; i <= n; i++)
				deq.push_back(i);

			deque<int>::iterator I = deq.erase(deq.begin());
			for (int i = 2; i < n; i++) {
				for (int j = 1; j < m; j++) {
					I++;
					if (I == deq.end())
						I = deq.begin();
				}
				I = deq.erase(I);
				if (I == deq.end())
					I = deq.begin();
			}

			if (*deq.begin() == 2)
				break;
		}
		cout << m << endl;
		cin >> n;
	}

	return 0;
}

No comments:

Post a Comment