-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcolorize-map.p6
More file actions
73 lines (66 loc) · 2.39 KB
/
Copy pathcolorize-map.p6
File metadata and controls
73 lines (66 loc) · 2.39 KB
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
use lib "lib";
use ProblemSolver;
my ProblemSolver $problem .= new: :stop-on-first-solution;
my @colors = <green yellow blue white>;
my @states = <
acre alagoas
amapa amazonas
bahia ceara
espirito-santo goias
maranhao mato-grosso
mato-grosso-do-sul minas-gerais
para paraiba
parana pernambuco
piaui rio-de-janeiro
rio-grande-do-norte rio-grande-do-sul
rondonia roraima
santa-catarina sao-paulo
sergipe tocantins
>;
for @states -> $state {
$problem.add-variable: $state, @colors;
}
$problem.unique-vars: <acre amazonas>;
$problem.unique-vars: <amazonas roraima>;
$problem.unique-vars: <amazonas rondonia>;
$problem.unique-vars: <amazonas para>;
$problem.unique-vars: <para amapa>;
$problem.unique-vars: <para tocantins>;
$problem.unique-vars: <para mato-grosso>;
$problem.unique-vars: <para maranhao>;
$problem.unique-vars: <maranhao tocantins>;
$problem.unique-vars: <maranhao piaui>;
$problem.unique-vars: <piaui ceara>;
$problem.unique-vars: <piaui pernambuco>;
$problem.unique-vars: <piaui bahia>;
$problem.unique-vars: <ceara rio-grande-do-norte>;
$problem.unique-vars: <ceara paraiba>;
$problem.unique-vars: <ceara pernambuco>;
$problem.unique-vars: <rio-grande-do-norte paraiba>;
$problem.unique-vars: <pernambuco alagoas>;
$problem.unique-vars: <alagoas sergipe>;
$problem.unique-vars: <sergipe bahia>;
$problem.unique-vars: <bahia minas-gerais>;
$problem.unique-vars: <bahia espirito-santo>;
$problem.unique-vars: <bahia tocantins>;
$problem.unique-vars: <bahia goias>;
$problem.unique-vars: <mato-grosso goias>;
$problem.unique-vars: <mato-grosso tocantins>;
$problem.unique-vars: <mato-grosso rondonia>;
$problem.unique-vars: <mato-grosso mato-grosso-do-sul>;
$problem.unique-vars: <mato-grosso-do-sul goias>;
$problem.unique-vars: <mato-grosso-do-sul minas-gerais>;
$problem.unique-vars: <mato-grosso-do-sul sao-paulo>;
$problem.unique-vars: <mato-grosso-do-sul parana>;
$problem.unique-vars: <sao-paulo minas-gerais>;
$problem.unique-vars: <sao-paulo rio-de-janeiro>;
$problem.unique-vars: <rio-de-janeiro espirito-santo>;
$problem.unique-vars: <rio-de-janeiro minas-gerais>;
$problem.unique-vars: <minas-gerais espirito-santo>;
$problem.unique-vars: <parana santa-catarina>;
$problem.unique-vars: <santa-catarina rio-grande-do-sul>;
my %res = $problem.solve.first;
my $size = %res.keys.map(*.chars).max;
for %res.kv -> $state, $color {
printf "%{$size}s => %s\n", $state, $color;
}