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