Здравствуйте, UncleBob, Вы писали:
UB>Почти правильно решили, но по условию задачи приаты кровожадны, поэтому если при двух вариантах они получают одинаковое количество денег, то они сначала убъют главаря, а на следующем шаге получат свои деньги. Поэтому для N пиратов решение такое: UB>1 — все осатвшееся, 2 — 0, 3 — 1, 4 — 2, 5 — 3 и т.д., пока не будет получен кворум
Ой ли?
Посмотрим.
Пронумеруем пиратов от младшего к старшему (так удобнее итерировать).
1) 100
2) 100,0 — впрочем, первый второго всё равно замочит
3) нужно набрать 1 дополнительный голос. Поэтому, 0,1,99 или даже 0,0,100 (поскольку второму без третьего не жить)
4) нужно набрать 1 доп.голос, так, чтобы это было выгоднее, чем (3). Очевидно, 1,0,0,99.
5) нужно набрать 2 доп.голоса. 0,1,1,0,98
Поедем дальше.
6) 2 доп.голоса. 1,0,0,1,0,98
7) 3 доп.голоса. 0,1,1,0,1,0,97
8) 3 доп.голоса. 1,0,0,1,0,1,0,97
и так далее.