Last active
February 27, 2019 19:30
-
-
Save iddoeldor/6b75cf19814a7019c215e43fc7632d9d to your computer and use it in GitHub Desktop.
N people each one get a real number, they cannot talk and etc.. they guess there number in the same time.. they need at least one to guess right
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Combination | PG1 | PG2 | PG3 | PG4 | Win | |
---|---|---|---|---|---|---|
[1, 1, 1, 1] | 1 | 2 | 3 | 4 | True | |
[1, 1, 1, 2] | 4 | 1 | 2 | 4 | True | |
[1, 1, 1, 3] | 3 | 4 | 1 | 4 | True | |
[1, 1, 1, 4] | 2 | 3 | 4 | 4 | True | |
[1, 1, 2, 1] | 4 | 1 | 3 | 3 | True | |
[1, 1, 2, 2] | 3 | 4 | 2 | 3 | True | |
[1, 1, 2, 3] | 2 | 3 | 1 | 3 | True | |
[1, 1, 2, 4] | 1 | 2 | 4 | 3 | True | |
[1, 1, 3, 1] | 3 | 4 | 3 | 2 | True | |
[1, 1, 3, 2] | 2 | 3 | 2 | 2 | True | |
[1, 1, 3, 3] | 1 | 2 | 1 | 2 | True | |
[1, 1, 3, 4] | 4 | 1 | 4 | 2 | True | |
[1, 1, 4, 1] | 2 | 3 | 3 | 1 | True | |
[1, 1, 4, 2] | 1 | 2 | 2 | 1 | True | |
[1, 1, 4, 3] | 4 | 1 | 1 | 1 | True | |
[1, 1, 4, 4] | 3 | 4 | 4 | 1 | True | |
[1, 2, 1, 1] | 4 | 2 | 2 | 3 | True | |
[1, 2, 1, 2] | 3 | 1 | 1 | 3 | True | |
[1, 2, 1, 3] | 2 | 4 | 4 | 3 | True | |
[1, 2, 1, 4] | 1 | 3 | 3 | 3 | True | |
[1, 2, 2, 1] | 3 | 1 | 2 | 2 | True | |
[1, 2, 2, 2] | 2 | 4 | 1 | 2 | True | |
[1, 2, 2, 3] | 1 | 3 | 4 | 2 | True | |
[1, 2, 2, 4] | 4 | 2 | 3 | 2 | True | |
[1, 2, 3, 1] | 2 | 4 | 2 | 1 | True | |
[1, 2, 3, 2] | 1 | 3 | 1 | 1 | True | |
[1, 2, 3, 3] | 4 | 2 | 4 | 1 | True | |
[1, 2, 3, 4] | 3 | 1 | 3 | 1 | True | |
[1, 2, 4, 1] | 1 | 3 | 2 | 4 | True | |
[1, 2, 4, 2] | 4 | 2 | 1 | 4 | True | |
[1, 2, 4, 3] | 3 | 1 | 4 | 4 | True | |
[1, 2, 4, 4] | 2 | 4 | 3 | 4 | True | |
[1, 3, 1, 1] | 3 | 2 | 1 | 2 | True | |
[1, 3, 1, 2] | 2 | 1 | 4 | 2 | True | |
[1, 3, 1, 3] | 1 | 4 | 3 | 2 | True | |
[1, 3, 1, 4] | 4 | 3 | 2 | 2 | True | |
[1, 3, 2, 1] | 2 | 1 | 1 | 1 | True | |
[1, 3, 2, 2] | 1 | 4 | 4 | 1 | True | |
[1, 3, 2, 3] | 4 | 3 | 3 | 1 | True | |
[1, 3, 2, 4] | 3 | 2 | 2 | 1 | True | |
[1, 3, 3, 1] | 1 | 4 | 1 | 4 | True | |
[1, 3, 3, 2] | 4 | 3 | 4 | 4 | True | |
[1, 3, 3, 3] | 3 | 2 | 3 | 4 | True | |
[1, 3, 3, 4] | 2 | 1 | 2 | 4 | True | |
[1, 3, 4, 1] | 4 | 3 | 1 | 3 | True | |
[1, 3, 4, 2] | 3 | 2 | 4 | 3 | True | |
[1, 3, 4, 3] | 2 | 1 | 3 | 3 | True | |
[1, 3, 4, 4] | 1 | 4 | 2 | 3 | True | |
[1, 4, 1, 1] | 2 | 2 | 4 | 1 | True | |
[1, 4, 1, 2] | 1 | 1 | 3 | 1 | True | |
[1, 4, 1, 3] | 4 | 4 | 2 | 1 | True | |
[1, 4, 1, 4] | 3 | 3 | 1 | 1 | True | |
[1, 4, 2, 1] | 1 | 1 | 4 | 4 | True | |
[1, 4, 2, 2] | 4 | 4 | 3 | 4 | True | |
[1, 4, 2, 3] | 3 | 3 | 2 | 4 | True | |
[1, 4, 2, 4] | 2 | 2 | 1 | 4 | True | |
[1, 4, 3, 1] | 4 | 4 | 4 | 3 | True | |
[1, 4, 3, 2] | 3 | 3 | 3 | 3 | True | |
[1, 4, 3, 3] | 2 | 2 | 2 | 3 | True | |
[1, 4, 3, 4] | 1 | 1 | 1 | 3 | True | |
[1, 4, 4, 1] | 3 | 3 | 4 | 2 | True | |
[1, 4, 4, 2] | 2 | 2 | 3 | 2 | True | |
[1, 4, 4, 3] | 1 | 1 | 2 | 2 | True | |
[1, 4, 4, 4] | 4 | 4 | 1 | 2 | True | |
[2, 1, 1, 1] | 1 | 1 | 2 | 3 | True | |
[2, 1, 1, 2] | 4 | 4 | 1 | 3 | True | |
[2, 1, 1, 3] | 3 | 3 | 4 | 3 | True | |
[2, 1, 1, 4] | 2 | 2 | 3 | 3 | True | |
[2, 1, 2, 1] | 4 | 4 | 2 | 2 | True | |
[2, 1, 2, 2] | 3 | 3 | 1 | 2 | True | |
[2, 1, 2, 3] | 2 | 2 | 4 | 2 | True | |
[2, 1, 2, 4] | 1 | 1 | 3 | 2 | True | |
[2, 1, 3, 1] | 3 | 3 | 2 | 1 | True | |
[2, 1, 3, 2] | 2 | 2 | 1 | 1 | True | |
[2, 1, 3, 3] | 1 | 1 | 4 | 1 | True | |
[2, 1, 3, 4] | 4 | 4 | 3 | 1 | True | |
[2, 1, 4, 1] | 2 | 2 | 2 | 4 | True | |
[2, 1, 4, 2] | 1 | 1 | 1 | 4 | True | |
[2, 1, 4, 3] | 4 | 4 | 4 | 4 | True | |
[2, 1, 4, 4] | 3 | 3 | 3 | 4 | True | |
[2, 2, 1, 1] | 4 | 1 | 1 | 2 | True | |
[2, 2, 1, 2] | 3 | 4 | 4 | 2 | True | |
[2, 2, 1, 3] | 2 | 3 | 3 | 2 | True | |
[2, 2, 1, 4] | 1 | 2 | 2 | 2 | True | |
[2, 2, 2, 1] | 3 | 4 | 1 | 1 | True | |
[2, 2, 2, 2] | 2 | 3 | 4 | 1 | True | |
[2, 2, 2, 3] | 1 | 2 | 3 | 1 | True | |
[2, 2, 2, 4] | 4 | 1 | 2 | 1 | True | |
[2, 2, 3, 1] | 2 | 3 | 1 | 4 | True | |
[2, 2, 3, 2] | 1 | 2 | 4 | 4 | True | |
[2, 2, 3, 3] | 4 | 1 | 3 | 4 | True | |
[2, 2, 3, 4] | 3 | 4 | 2 | 4 | True | |
[2, 2, 4, 1] | 1 | 2 | 1 | 3 | True | |
[2, 2, 4, 2] | 4 | 1 | 4 | 3 | True | |
[2, 2, 4, 3] | 3 | 4 | 3 | 3 | True | |
[2, 2, 4, 4] | 2 | 3 | 2 | 3 | True | |
[2, 3, 1, 1] | 3 | 1 | 4 | 1 | True | |
[2, 3, 1, 2] | 2 | 4 | 3 | 1 | True | |
[2, 3, 1, 3] | 1 | 3 | 2 | 1 | True | |
[2, 3, 1, 4] | 4 | 2 | 1 | 1 | True | |
[2, 3, 2, 1] | 2 | 4 | 4 | 4 | True | |
[2, 3, 2, 2] | 1 | 3 | 3 | 4 | True | |
[2, 3, 2, 3] | 4 | 2 | 2 | 4 | True | |
[2, 3, 2, 4] | 3 | 1 | 1 | 4 | True | |
[2, 3, 3, 1] | 1 | 3 | 4 | 3 | True | |
[2, 3, 3, 2] | 4 | 2 | 3 | 3 | True | |
[2, 3, 3, 3] | 3 | 1 | 2 | 3 | True | |
[2, 3, 3, 4] | 2 | 4 | 1 | 3 | True | |
[2, 3, 4, 1] | 4 | 2 | 4 | 2 | True | |
[2, 3, 4, 2] | 3 | 1 | 3 | 2 | True | |
[2, 3, 4, 3] | 2 | 4 | 2 | 2 | True | |
[2, 3, 4, 4] | 1 | 3 | 1 | 2 | True | |
[2, 4, 1, 1] | 2 | 1 | 3 | 4 | True | |
[2, 4, 1, 2] | 1 | 4 | 2 | 4 | True | |
[2, 4, 1, 3] | 4 | 3 | 1 | 4 | True | |
[2, 4, 1, 4] | 3 | 2 | 4 | 4 | True | |
[2, 4, 2, 1] | 1 | 4 | 3 | 3 | True | |
[2, 4, 2, 2] | 4 | 3 | 2 | 3 | True | |
[2, 4, 2, 3] | 3 | 2 | 1 | 3 | True | |
[2, 4, 2, 4] | 2 | 1 | 4 | 3 | True | |
[2, 4, 3, 1] | 4 | 3 | 3 | 2 | True | |
[2, 4, 3, 2] | 3 | 2 | 2 | 2 | True | |
[2, 4, 3, 3] | 2 | 1 | 1 | 2 | True | |
[2, 4, 3, 4] | 1 | 4 | 4 | 2 | True | |
[2, 4, 4, 1] | 3 | 2 | 3 | 1 | True | |
[2, 4, 4, 2] | 2 | 1 | 2 | 1 | True | |
[2, 4, 4, 3] | 1 | 4 | 1 | 1 | True | |
[2, 4, 4, 4] | 4 | 3 | 4 | 1 | True | |
[3, 1, 1, 1] | 1 | 4 | 1 | 2 | True | |
[3, 1, 1, 2] | 4 | 3 | 4 | 2 | True | |
[3, 1, 1, 3] | 3 | 2 | 3 | 2 | True | |
[3, 1, 1, 4] | 2 | 1 | 2 | 2 | True | |
[3, 1, 2, 1] | 4 | 3 | 1 | 1 | True | |
[3, 1, 2, 2] | 3 | 2 | 4 | 1 | True | |
[3, 1, 2, 3] | 2 | 1 | 3 | 1 | True | |
[3, 1, 2, 4] | 1 | 4 | 2 | 1 | True | |
[3, 1, 3, 1] | 3 | 2 | 1 | 4 | True | |
[3, 1, 3, 2] | 2 | 1 | 4 | 4 | True | |
[3, 1, 3, 3] | 1 | 4 | 3 | 4 | True | |
[3, 1, 3, 4] | 4 | 3 | 2 | 4 | True | |
[3, 1, 4, 1] | 2 | 1 | 1 | 3 | True | |
[3, 1, 4, 2] | 1 | 4 | 4 | 3 | True | |
[3, 1, 4, 3] | 4 | 3 | 3 | 3 | True | |
[3, 1, 4, 4] | 3 | 2 | 2 | 3 | True | |
[3, 2, 1, 1] | 4 | 4 | 4 | 1 | True | |
[3, 2, 1, 2] | 3 | 3 | 3 | 1 | True | |
[3, 2, 1, 3] | 2 | 2 | 2 | 1 | True | |
[3, 2, 1, 4] | 1 | 1 | 1 | 1 | True | |
[3, 2, 2, 1] | 3 | 3 | 4 | 4 | True | |
[3, 2, 2, 2] | 2 | 2 | 3 | 4 | True | |
[3, 2, 2, 3] | 1 | 1 | 2 | 4 | True | |
[3, 2, 2, 4] | 4 | 4 | 1 | 4 | True | |
[3, 2, 3, 1] | 2 | 2 | 4 | 3 | True | |
[3, 2, 3, 2] | 1 | 1 | 3 | 3 | True | |
[3, 2, 3, 3] | 4 | 4 | 2 | 3 | True | |
[3, 2, 3, 4] | 3 | 3 | 1 | 3 | True | |
[3, 2, 4, 1] | 1 | 1 | 4 | 2 | True | |
[3, 2, 4, 2] | 4 | 4 | 3 | 2 | True | |
[3, 2, 4, 3] | 3 | 3 | 2 | 2 | True | |
[3, 2, 4, 4] | 2 | 2 | 1 | 2 | True | |
[3, 3, 1, 1] | 3 | 4 | 3 | 4 | True | |
[3, 3, 1, 2] | 2 | 3 | 2 | 4 | True | |
[3, 3, 1, 3] | 1 | 2 | 1 | 4 | True | |
[3, 3, 1, 4] | 4 | 1 | 4 | 4 | True | |
[3, 3, 2, 1] | 2 | 3 | 3 | 3 | True | |
[3, 3, 2, 2] | 1 | 2 | 2 | 3 | True | |
[3, 3, 2, 3] | 4 | 1 | 1 | 3 | True | |
[3, 3, 2, 4] | 3 | 4 | 4 | 3 | True | |
[3, 3, 3, 1] | 1 | 2 | 3 | 2 | True | |
[3, 3, 3, 2] | 4 | 1 | 2 | 2 | True | |
[3, 3, 3, 3] | 3 | 4 | 1 | 2 | True | |
[3, 3, 3, 4] | 2 | 3 | 4 | 2 | True | |
[3, 3, 4, 1] | 4 | 1 | 3 | 1 | True | |
[3, 3, 4, 2] | 3 | 4 | 2 | 1 | True | |
[3, 3, 4, 3] | 2 | 3 | 1 | 1 | True | |
[3, 3, 4, 4] | 1 | 2 | 4 | 1 | True | |
[3, 4, 1, 1] | 2 | 4 | 2 | 3 | True | |
[3, 4, 1, 2] | 1 | 3 | 1 | 3 | True | |
[3, 4, 1, 3] | 4 | 2 | 4 | 3 | True | |
[3, 4, 1, 4] | 3 | 1 | 3 | 3 | True | |
[3, 4, 2, 1] | 1 | 3 | 2 | 2 | True | |
[3, 4, 2, 2] | 4 | 2 | 1 | 2 | True | |
[3, 4, 2, 3] | 3 | 1 | 4 | 2 | True | |
[3, 4, 2, 4] | 2 | 4 | 3 | 2 | True | |
[3, 4, 3, 1] | 4 | 2 | 2 | 1 | True | |
[3, 4, 3, 2] | 3 | 1 | 1 | 1 | True | |
[3, 4, 3, 3] | 2 | 4 | 4 | 1 | True | |
[3, 4, 3, 4] | 1 | 3 | 3 | 1 | True | |
[3, 4, 4, 1] | 3 | 1 | 2 | 4 | True | |
[3, 4, 4, 2] | 2 | 4 | 1 | 4 | True | |
[3, 4, 4, 3] | 1 | 3 | 4 | 4 | True | |
[3, 4, 4, 4] | 4 | 2 | 3 | 4 | True | |
[4, 1, 1, 1] | 1 | 3 | 4 | 1 | True | |
[4, 1, 1, 2] | 4 | 2 | 3 | 1 | True | |
[4, 1, 1, 3] | 3 | 1 | 2 | 1 | True | |
[4, 1, 1, 4] | 2 | 4 | 1 | 1 | True | |
[4, 1, 2, 1] | 4 | 2 | 4 | 4 | True | |
[4, 1, 2, 2] | 3 | 1 | 3 | 4 | True | |
[4, 1, 2, 3] | 2 | 4 | 2 | 4 | True | |
[4, 1, 2, 4] | 1 | 3 | 1 | 4 | True | |
[4, 1, 3, 1] | 3 | 1 | 4 | 3 | True | |
[4, 1, 3, 2] | 2 | 4 | 3 | 3 | True | |
[4, 1, 3, 3] | 1 | 3 | 2 | 3 | True | |
[4, 1, 3, 4] | 4 | 2 | 1 | 3 | True | |
[4, 1, 4, 1] | 2 | 4 | 4 | 2 | True | |
[4, 1, 4, 2] | 1 | 3 | 3 | 2 | True | |
[4, 1, 4, 3] | 4 | 2 | 2 | 2 | True | |
[4, 1, 4, 4] | 3 | 1 | 1 | 2 | True | |
[4, 2, 1, 1] | 4 | 3 | 3 | 4 | True | |
[4, 2, 1, 2] | 3 | 2 | 2 | 4 | True | |
[4, 2, 1, 3] | 2 | 1 | 1 | 4 | True | |
[4, 2, 1, 4] | 1 | 4 | 4 | 4 | True | |
[4, 2, 2, 1] | 3 | 2 | 3 | 3 | True | |
[4, 2, 2, 2] | 2 | 1 | 2 | 3 | True | |
[4, 2, 2, 3] | 1 | 4 | 1 | 3 | True | |
[4, 2, 2, 4] | 4 | 3 | 4 | 3 | True | |
[4, 2, 3, 1] | 2 | 1 | 3 | 2 | True | |
[4, 2, 3, 2] | 1 | 4 | 2 | 2 | True | |
[4, 2, 3, 3] | 4 | 3 | 1 | 2 | True | |
[4, 2, 3, 4] | 3 | 2 | 4 | 2 | True | |
[4, 2, 4, 1] | 1 | 4 | 3 | 1 | True | |
[4, 2, 4, 2] | 4 | 3 | 2 | 1 | True | |
[4, 2, 4, 3] | 3 | 2 | 1 | 1 | True | |
[4, 2, 4, 4] | 2 | 1 | 4 | 1 | True | |
[4, 3, 1, 1] | 3 | 3 | 2 | 3 | True | |
[4, 3, 1, 2] | 2 | 2 | 1 | 3 | True | |
[4, 3, 1, 3] | 1 | 1 | 4 | 3 | True | |
[4, 3, 1, 4] | 4 | 4 | 3 | 3 | True | |
[4, 3, 2, 1] | 2 | 2 | 2 | 2 | True | |
[4, 3, 2, 2] | 1 | 1 | 1 | 2 | True | |
[4, 3, 2, 3] | 4 | 4 | 4 | 2 | True | |
[4, 3, 2, 4] | 3 | 3 | 3 | 2 | True | |
[4, 3, 3, 1] | 1 | 1 | 2 | 1 | True | |
[4, 3, 3, 2] | 4 | 4 | 1 | 1 | True | |
[4, 3, 3, 3] | 3 | 3 | 4 | 1 | True | |
[4, 3, 3, 4] | 2 | 2 | 3 | 1 | True | |
[4, 3, 4, 1] | 4 | 4 | 2 | 4 | True | |
[4, 3, 4, 2] | 3 | 3 | 1 | 4 | True | |
[4, 3, 4, 3] | 2 | 2 | 4 | 4 | True | |
[4, 3, 4, 4] | 1 | 1 | 3 | 4 | True | |
[4, 4, 1, 1] | 2 | 3 | 1 | 2 | True | |
[4, 4, 1, 2] | 1 | 2 | 4 | 2 | True | |
[4, 4, 1, 3] | 4 | 1 | 3 | 2 | True | |
[4, 4, 1, 4] | 3 | 4 | 2 | 2 | True | |
[4, 4, 2, 1] | 1 | 2 | 1 | 1 | True | |
[4, 4, 2, 2] | 4 | 1 | 4 | 1 | True | |
[4, 4, 2, 3] | 3 | 4 | 3 | 1 | True | |
[4, 4, 2, 4] | 2 | 3 | 2 | 1 | True | |
[4, 4, 3, 1] | 4 | 1 | 1 | 4 | True | |
[4, 4, 3, 2] | 3 | 4 | 4 | 4 | True | |
[4, 4, 3, 3] | 2 | 3 | 3 | 4 | True | |
[4, 4, 3, 4] | 1 | 2 | 2 | 4 | True | |
[4, 4, 4, 1] | 3 | 4 | 1 | 3 | True | |
[4, 4, 4, 2] | 2 | 3 | 4 | 3 | True | |
[4, 4, 4, 3] | 1 | 2 | 3 | 3 | True | |
[4, 4, 4, 4] | 4 | 1 | 2 | 3 | True |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from itertools import product, repeat | |
def f(sum_others, idx): | |
mN = N - ((sum_others + ((N - idx) % N)) % N) | |
return N if mN == 0 else mN | |
N = 4 | |
fw = open('out.tsv', 'w') | |
# PG = Person Guess | |
fw.write('Combination\t' + ''.join(['PG%d\t' % (i + 1) for i in range(N)]) + 'Win\n') | |
N_length_combinations_of_real_numbers_from_1_to_N = [list(elem) for elem in product(*repeat(list(range(1, N + 1)), N))] | |
for combination in N_length_combinations_of_real_numbers_from_1_to_N: | |
sum_combination = sum(combination) | |
''' | |
Iterating combinations: | |
current_guess = combination[person_idx] | |
sum_other_viewable_numbers = sum_combination - current_guess | |
''' | |
guesses = [f(sum_combination - combination[person_idx], person_idx) for person_idx in range(N)] | |
# success if at least one guessed right, at least once guesses[i] == combination[i] | |
success = True in [guesses[i] == combination[i] for i in range(N)] | |
print('%s\t%s\t%s' % (combination, '\t'.join([str(guesses[i]) for i in range(N)]), success), file=fw) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment