aboutsummaryrefslogtreecommitdiff
path: root/challenge-025/lubos-kolouch/python/ch-1.py
blob: 519cc6022ac71d3046b632549223ded629d5a0ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#!/usr/bin/env python3

names = [
    "audino",
    "bagon",
    "baltoy",
    "banette",
    "bidoof",
    "braviary",
    "bronzor",
    "carracosta",
    "charmeleon",
    "cresselia",
    "croagunk",
    "darmanitan",
    "deino",
    "emboar",
    "emolga",
    "exeggcute",
    "gabite",
    "girafarig",
    "gulpin",
    "haxorus",
    "heatmor",
    "heatran",
    "ivysaur",
    "jellicent",
    "jumpluff",
    "kangaskhan",
    "kricketune",
    "landorus",
    "ledyba",
    "loudred",
    "lumineon",
    "lunatone",
    "machamp",
    "magnezone",
    "mamoswine",
    "nosepass",
    "petilil",
    "pidgeotto",
    "pikachu",
    "pinsir",
    "poliwrath",
    "poochyena",
    "porygon2",
    "porygonz",
    "registeel",
    "relicanth",
    "remoraid",
    "rufflet",
    "sableye",
    "scolipede",
    "scrafty",
    "seaking",
    "sealeo",
    "silcoon",
    "simisear",
    "snivy",
    "snorlax",
    "spoink",
    "starly",
    "tirtouga",
    "trapinch",
    "treecko",
    "tyrogue",
    "vigoroth",
    "vulpix",
    "wailord",
    "wartortle",
    "whismur",
    "wingull",
    "yamask",
]

used = {}
sequence = []

for name in names:
    if name in used:
        continue

    current = name
    temp = [current]
    temp_used = used.copy()
    temp_used[current] = True

    while True:
        found = False
        for next_name in names:
            if next_name in temp_used:
                continue

            if current[-1] == next_name[0]:
                current = next_name
                temp.append(current)
                temp_used[current] = True
                found = True
                break

        if not found:
            break

    if len(temp) > len(sequence):
        sequence = temp

    used = temp_used

print(" -> ".join(sequence))