sundries

Assorted little morsels for your enjoyment

git clone https://code.pdelong.com/sundries.git

 1function eat(type) {
 2  if (type == "D") {
 3    dark_eaten++
 4  } else if (type == "M") {
 5    milk_eaten++
 6  } else {
 7   print "AAAH"
 8   exit 1
 9  }
10}
11
12function probability(type) {
13  if (type == "D") {
14    num = (8 - dark_eaten)
15    #num *= (8 - dark_eaten)
16  } else if (type == "M") {
17    num = (2 - milk_eaten)
18    #num *= (2 - milk_eaten)
19  } else {
20    print "AAAH"
21    exit 2
22  }
23
24  #denom *= (10 - dark_eaten - milk_eaten)
25  denom = (10 - dark_eaten - milk_eaten)
26  probability_string = probability_string num "/" denom " "
27}
28
29{
30  cur = "N"
31  dark_eaten = 0
32  milk_eaten = 0
33  order_string = ""
34  num = 1
35  denom = 1
36  probability_string = ""
37  for (i = 1; i <= NF; i++) {
38    if ($i == "D" && dark_eaten == 8 ||  $i == "M" && milk_eaten == 2) {
39      next
40    }
41    probability($i)
42    if (cur == "N") {
43      cur = $i
44      eat($i)
45      order_string = order_string cur " "
46    } else if (cur == $i) {
47      eat($i)
48      order_string = order_string cur " "
49    } else {
50      order_string = order_string tolower($i) " "
51      cur = "N"
52    }
53    if (dark_eaten == 8 && milk_eaten == 2) {
54      #print order_string " | " num "/" denom
55      print order_string " | " probability_string
56      next
57    }
58  }
59}