Namesto Einsteinove uganke mogoče [kakšna taka](http://www.os-sencur.si/maticna_sola/2%20triada/5.%20razred/Logika/Logi%C4%8Dne_uganke-za_4._in_5._razred.doc) bolj primerna:

> Štirje otroci (Ana, Bor, Cene, Deni) imajo doma različne živali (muca, pes, ptica, riba).
> Ugotovi, čigava je katera žival. 
> 1. Borova žival ne zna leteti.
> 2. Žival Ceneta in Denija ima dlako.
> 3. Denijeva žival ne laja.

```python
# coding: utf-8
import itertools

animals = 'muca pes ptica riba'.split()
names = 'Ana Bor Cene Deni'.split()

def solve():
    def owns(Name, animal): return Name == animal
    permutations = list(itertools.permutations(animals))
    return next((Ana, Bor, Cene, Deni)
            for (Ana, Bor, Cene, Deni) in permutations
            if not owns(Bor, 'ptica')  # 1. Borova žival ne zna leteti
            if not owns(Deni, 'pes')   # 3. Denijeva žival ne laja
            if ((owns(Cene, 'muca') or owns(Cene, 'pes')) and
                (owns(Deni, 'muca') or owns(Deni, 'pes'))))

print(zip(names, solve()))
```
```
[('Ana', 'ptica'), ('Bor', 'riba'), ('Cene', 'pes'), ('Deni', 'muca')]
```