polished readme and added terminal quality of life improvements (clear)

This commit is contained in:
Raphaël LACROIX 2023-01-14 15:18:52 +01:00
parent ca558bdc4a
commit d7f07328d2
12 changed files with 973 additions and 92 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

462
Graph_example.svg Normal file
View file

@ -0,0 +1,462 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.50.0 (0)
-->
<!-- Title: finite_state_machine Pages: 1 -->
<svg width="1468pt" height="745pt"
viewBox="0.00 0.00 1467.96 745.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 741)">
<title>finite_state_machine</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-741 1463.96,-741 1463.96,4 -4,4"/>
<!-- 15 -->
<g id="node1" class="node">
<title>15</title>
<ellipse fill="none" stroke="black" cx="20.8" cy="-267" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="20.8" y="-263.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">15</text>
</g>
<!-- 3 -->
<g id="node2" class="node">
<title>3</title>
<ellipse fill="none" stroke="black" cx="103.6" cy="-381" rx="18" ry="18"/>
<text text-anchor="middle" x="103.6" y="-377.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">3</text>
</g>
<!-- 15&#45;&gt;3 -->
<g id="edge1" class="edge">
<title>15&#45;&gt;3</title>
<path fill="none" stroke="black" d="M33.72,-283.82C47.69,-303.53 70.89,-336.27 86.46,-358.23"/>
<polygon fill="black" stroke="black" points="83.78,-360.5 92.42,-366.64 89.49,-356.46 83.78,-360.5"/>
<text text-anchor="middle" x="63.6" y="-334.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 1 -->
<g id="node3" class="node">
<title>1</title>
<ellipse fill="none" stroke="black" cx="302.79" cy="-191" rx="18" ry="18"/>
<text text-anchor="middle" x="302.79" y="-187.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 15&#45;&gt;1 -->
<g id="edge2" class="edge">
<title>15&#45;&gt;1</title>
<path fill="none" stroke="black" d="M40.61,-259.53C67.84,-248.95 119.96,-229.47 165.6,-217 191.66,-209.88 198.66,-210.1 225.19,-205 241.64,-201.84 260.12,-198.46 274.8,-195.81"/>
<polygon fill="black" stroke="black" points="275.51,-199.24 284.74,-194.03 274.27,-192.35 275.51,-199.24"/>
<text text-anchor="middle" x="143.6" y="-228.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 19 -->
<g id="node4" class="node">
<title>19</title>
<ellipse fill="none" stroke="black" cx="1187.97" cy="-424" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="1187.97" y="-420.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">19</text>
</g>
<!-- 15&#45;&gt;19 -->
<g id="edge3" class="edge">
<title>15&#45;&gt;19</title>
<path fill="none" stroke="black" d="M23.25,-287.73C29.75,-376.74 57.87,-722 102.6,-722 102.6,-722 102.6,-722 1106.17,-722 1160.97,-722 1179.78,-531.94 1185.13,-455.39"/>
<polygon fill="black" stroke="black" points="1188.65,-455.17 1185.82,-444.95 1181.67,-454.7 1188.65,-455.17"/>
<text text-anchor="middle" x="641.98" y="-725.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 12 -->
<g id="node5" class="node">
<title>12</title>
<ellipse fill="none" stroke="black" cx="245.99" cy="-665" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="245.99" y="-661.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">12</text>
</g>
<!-- 3&#45;&gt;12 -->
<g id="edge4" class="edge">
<title>3&#45;&gt;12</title>
<path fill="none" stroke="black" d="M104.96,-399.23C106.3,-449.25 112.44,-587.28 139.6,-622 157.84,-645.32 190.83,-656.07 215.06,-660.98"/>
<polygon fill="black" stroke="black" points="214.7,-664.47 225.16,-662.8 215.94,-657.58 214.7,-664.47"/>
<text text-anchor="middle" x="143.6" y="-633.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 13 -->
<g id="node6" class="node">
<title>13</title>
<ellipse fill="none" stroke="black" cx="186.39" cy="-247" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="186.39" y="-243.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">13</text>
</g>
<!-- 3&#45;&gt;13 -->
<g id="edge5" class="edge">
<title>3&#45;&gt;13</title>
<path fill="none" stroke="black" d="M113.71,-365.89C127.28,-343.38 152.99,-300.75 169.64,-273.12"/>
<polygon fill="black" stroke="black" points="172.75,-274.75 174.92,-264.38 166.76,-271.13 172.75,-274.75"/>
<text text-anchor="middle" x="143.6" y="-326.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 0 -->
<g id="node7" class="node">
<title>0</title>
<ellipse fill="none" stroke="black" cx="390.79" cy="-381" rx="18" ry="18"/>
<text text-anchor="middle" x="390.79" y="-377.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">0</text>
</g>
<!-- 3&#45;&gt;0 -->
<g id="edge6" class="edge">
<title>3&#45;&gt;0</title>
<path fill="none" stroke="black" d="M121.68,-377.63C144.97,-373.23 188.04,-365.76 225.19,-363 273.87,-359.39 330.39,-368.49 362.93,-375.02"/>
<polygon fill="black" stroke="black" points="362.5,-378.51 373,-377.12 363.92,-371.66 362.5,-378.51"/>
<text text-anchor="middle" x="245.99" y="-366.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">13</text>
</g>
<!-- 1&#45;&gt;0 -->
<g id="edge40" class="edge">
<title>1&#45;&gt;0</title>
<path fill="none" stroke="black" d="M314.12,-205.21C325.32,-221.1 343.13,-247.91 354.79,-273 367.12,-299.54 376.92,-331.63 382.98,-353.9"/>
<polygon fill="black" stroke="black" points="379.63,-354.91 385.57,-363.68 386.39,-353.11 379.63,-354.91"/>
<text text-anchor="middle" x="346.79" y="-276.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">13</text>
</g>
<!-- 10 -->
<g id="node18" class="node">
<title>10</title>
<ellipse fill="none" stroke="black" cx="447.59" cy="-117" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="447.59" y="-113.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">10</text>
</g>
<!-- 1&#45;&gt;10 -->
<g id="edge38" class="edge">
<title>1&#45;&gt;10</title>
<path fill="none" stroke="black" d="M307.78,-173.43C312.39,-157.61 321.63,-135.17 338.79,-124 361.82,-109 393.81,-108.88 416.96,-111.52"/>
<polygon fill="black" stroke="black" points="416.52,-114.99 426.9,-112.88 417.47,-108.06 416.52,-114.99"/>
<text text-anchor="middle" x="346.79" y="-127.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 8 -->
<g id="node20" class="node">
<title>8</title>
<ellipse fill="none" stroke="black" cx="776.78" cy="-153" rx="18" ry="18"/>
<text text-anchor="middle" x="776.78" y="-149.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">8</text>
</g>
<!-- 1&#45;&gt;8 -->
<g id="edge39" class="edge">
<title>1&#45;&gt;8</title>
<path fill="none" stroke="black" d="M317.57,-180.62C333.9,-169.37 362.37,-153 389.79,-153 389.79,-153 389.79,-153 686.98,-153 707.66,-153 731.06,-153 748.64,-153"/>
<polygon fill="black" stroke="black" points="748.76,-156.5 758.76,-153 748.76,-149.5 748.76,-156.5"/>
<text text-anchor="middle" x="548.39" y="-156.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 14 -->
<g id="node13" class="node">
<title>14</title>
<ellipse fill="none" stroke="black" cx="1273.57" cy="-473" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="1273.57" y="-469.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">14</text>
</g>
<!-- 19&#45;&gt;14 -->
<g id="edge28" class="edge">
<title>19&#45;&gt;14</title>
<path fill="none" stroke="black" d="M1206.29,-434.15C1217.84,-440.92 1233.23,-449.94 1246.27,-457.59"/>
<polygon fill="black" stroke="black" points="1244.87,-460.82 1255.27,-462.86 1248.41,-454.78 1244.87,-460.82"/>
<text text-anchor="middle" x="1230.77" y="-453.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 12&#45;&gt;19 -->
<g id="edge7" class="edge">
<title>12&#45;&gt;19</title>
<path fill="none" stroke="black" d="M266.09,-670.91C285.84,-676.49 317.67,-684 345.79,-684 345.79,-684 345.79,-684 1106.17,-684 1153.62,-684 1176.34,-524.1 1183.94,-455.09"/>
<polygon fill="black" stroke="black" points="1187.45,-455.15 1185.03,-444.84 1180.49,-454.41 1187.45,-455.15"/>
<text text-anchor="middle" x="729.98" y="-687.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 13&#45;&gt;1 -->
<g id="edge26" class="edge">
<title>13&#45;&gt;1</title>
<path fill="none" stroke="black" d="M204.49,-236.52C210.89,-232.73 218.3,-228.52 225.19,-225 241.82,-216.5 261.04,-207.98 276.06,-201.59"/>
<polygon fill="black" stroke="black" points="277.84,-204.63 285.71,-197.53 275.13,-198.18 277.84,-204.63"/>
<text text-anchor="middle" x="245.99" y="-228.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 13&#45;&gt;19 -->
<g id="edge27" class="edge">
<title>13&#45;&gt;19</title>
<path fill="none" stroke="black" d="M192.22,-226.96C206.15,-174.65 251.55,-38 345.79,-38 345.79,-38 345.79,-38 1106.17,-38 1178.54,-38 1186.49,-301.17 1187.06,-392.91"/>
<polygon fill="black" stroke="black" points="1183.56,-392.99 1187.1,-402.97 1190.56,-392.96 1183.56,-392.99"/>
<text text-anchor="middle" x="729.98" y="-41.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2 -->
<g id="node10" class="node">
<title>2</title>
<ellipse fill="none" stroke="black" cx="859.58" cy="-290" rx="18" ry="18"/>
<text text-anchor="middle" x="859.58" y="-286.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 13&#45;&gt;2 -->
<g id="edge25" class="edge">
<title>13&#45;&gt;2</title>
<path fill="none" stroke="black" d="M207.25,-246.12C293.14,-242.43 633.05,-229.35 737.98,-248 774.08,-254.42 780.9,-264.1 815.58,-276 821.05,-277.88 826.94,-279.84 832.55,-281.67"/>
<polygon fill="black" stroke="black" points="831.61,-285.05 842.2,-284.8 833.77,-278.39 831.61,-285.05"/>
<text text-anchor="middle" x="548.39" y="-242.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 0&#45;&gt;3 -->
<g id="edge46" class="edge">
<title>0&#45;&gt;3</title>
<path fill="none" stroke="black" d="M372.75,-383.93C367.06,-384.77 360.67,-385.58 354.79,-386 259.39,-392.78 235,-392.78 139.6,-386 137.02,-385.82 134.35,-385.56 131.69,-385.26"/>
<polygon fill="black" stroke="black" points="132.01,-381.77 121.63,-383.93 131.09,-388.71 132.01,-381.77"/>
<text text-anchor="middle" x="245.99" y="-395.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 0&#45;&gt;1 -->
<g id="edge47" class="edge">
<title>0&#45;&gt;1</title>
<path fill="none" stroke="black" d="M380.56,-365.91C369.72,-347.81 351.59,-316.37 338.79,-288 328.32,-264.79 318.68,-237.44 312.18,-217.7"/>
<polygon fill="black" stroke="black" points="315.49,-216.57 309.08,-208.14 308.83,-218.73 315.49,-216.57"/>
<text text-anchor="middle" x="346.79" y="-323.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 6 -->
<g id="node8" class="node">
<title>6</title>
<ellipse fill="none" stroke="black" cx="685.98" cy="-278" rx="18" ry="18"/>
<text text-anchor="middle" x="685.98" y="-274.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">6</text>
</g>
<!-- 0&#45;&gt;6 -->
<g id="edge42" class="edge">
<title>0&#45;&gt;6</title>
<path fill="none" stroke="black" d="M395.87,-363.65C400.6,-347.26 410,-323.16 426.79,-309 493.49,-252.76 606.62,-263.76 658.07,-272.54"/>
<polygon fill="black" stroke="black" points="657.61,-276.01 668.08,-274.35 658.86,-269.12 657.61,-276.01"/>
<text text-anchor="middle" x="548.39" y="-270.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 0&#45;&gt;2 -->
<g id="edge41" class="edge">
<title>0&#45;&gt;2</title>
<path fill="none" stroke="black" d="M408.07,-375.94C413.94,-374.23 420.63,-372.4 426.79,-371 601.22,-331.48 651.4,-352.37 823.58,-304 826.79,-303.1 830.11,-302 833.37,-300.82"/>
<polygon fill="black" stroke="black" points="834.75,-304.04 842.8,-297.14 832.21,-297.52 834.75,-304.04"/>
<text text-anchor="middle" x="641.98" y="-343.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 5 -->
<g id="node11" class="node">
<title>5</title>
<ellipse fill="none" stroke="black" cx="1025.17" cy="-456" rx="18" ry="18"/>
<text text-anchor="middle" x="1025.17" y="-452.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">5</text>
</g>
<!-- 0&#45;&gt;5 -->
<g id="edge43" class="edge">
<title>0&#45;&gt;5</title>
<path fill="none" stroke="black" d="M394.34,-398.95C398.05,-418.19 406.82,-448.25 426.79,-465 530.16,-551.71 594.06,-494 728.98,-494 728.98,-494 728.98,-494 943.38,-494 964.76,-494 986.55,-482.97 1002.11,-472.79"/>
<polygon fill="black" stroke="black" points="1004.27,-475.56 1010.5,-466.99 1000.28,-469.8 1004.27,-475.56"/>
<text text-anchor="middle" x="729.98" y="-498.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 7 -->
<g id="node14" class="node">
<title>7</title>
<ellipse fill="none" stroke="black" cx="1356.37" cy="-473" rx="18" ry="18"/>
<text text-anchor="middle" x="1356.37" y="-469.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">7</text>
</g>
<!-- 0&#45;&gt;7 -->
<g id="edge44" class="edge">
<title>0&#45;&gt;7</title>
<path fill="none" stroke="black" d="M391.2,-399.21C390.29,-459.09 396.06,-646 503.39,-646 503.39,-646 503.39,-646 1274.57,-646 1337.59,-646 1351.57,-550.58 1354.59,-501.47"/>
<polygon fill="black" stroke="black" points="1358.1,-501.35 1355.1,-491.19 1351.11,-501 1358.1,-501.35"/>
<text text-anchor="middle" x="899.58" y="-649.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4 -->
<g id="node17" class="node">
<title>4</title>
<ellipse fill="none" stroke="black" cx="504.39" cy="-448" rx="18" ry="18"/>
<text text-anchor="middle" x="504.39" y="-444.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">4</text>
</g>
<!-- 0&#45;&gt;4 -->
<g id="edge45" class="edge">
<title>0&#45;&gt;4</title>
<path fill="none" stroke="black" d="M399.35,-397.04C405.3,-407.96 414.63,-421.85 426.79,-430 441.35,-439.77 460.57,-444.26 476.12,-446.32"/>
<polygon fill="black" stroke="black" points="475.87,-449.82 486.19,-447.39 476.61,-442.85 475.87,-449.82"/>
<text text-anchor="middle" x="447.59" y="-449.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 6&#45;&gt;0 -->
<g id="edge8" class="edge">
<title>6&#45;&gt;0</title>
<path fill="none" stroke="black" d="M667.94,-279.66C617.01,-284.89 467.03,-302.25 426.79,-329 417.04,-335.48 409.3,-345.7 403.61,-355.37"/>
<polygon fill="black" stroke="black" points="400.44,-353.87 398.77,-364.34 406.6,-357.2 400.44,-353.87"/>
<text text-anchor="middle" x="548.39" y="-300.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">49</text>
</g>
<!-- 11 -->
<g id="node9" class="node">
<title>11</title>
<ellipse fill="none" stroke="black" cx="776.78" cy="-217" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="776.78" y="-213.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">11</text>
</g>
<!-- 6&#45;&gt;11 -->
<g id="edge9" class="edge">
<title>6&#45;&gt;11</title>
<path fill="none" stroke="black" d="M701.25,-268.2C714.57,-259.05 734.74,-245.19 750.74,-234.2"/>
<polygon fill="black" stroke="black" points="752.87,-236.99 759.13,-228.44 748.9,-231.22 752.87,-236.99"/>
<text text-anchor="middle" x="729.98" y="-256.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 11&#45;&gt;1 -->
<g id="edge12" class="edge">
<title>11&#45;&gt;1</title>
<path fill="none" stroke="black" d="M757.53,-208.34C739.89,-200.78 712.2,-191 686.98,-191 389.79,-191 389.79,-191 389.79,-191 370.19,-191 348.08,-191 331.19,-191"/>
<polygon fill="black" stroke="black" points="330.92,-187.5 320.92,-191 330.92,-194.5 330.92,-187.5"/>
<text text-anchor="middle" x="548.39" y="-194.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 11&#45;&gt;19 -->
<g id="edge10" class="edge">
<title>11&#45;&gt;19</title>
<path fill="none" stroke="black" d="M795.15,-207.21C811.12,-199.13 835.72,-189 858.58,-189 858.58,-189 858.58,-189 1106.17,-189 1148.79,-189 1173.75,-328.97 1182.93,-392.86"/>
<polygon fill="black" stroke="black" points="1179.51,-393.72 1184.36,-403.15 1186.45,-392.76 1179.51,-393.72"/>
<text text-anchor="middle" x="985.17" y="-192.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 11&#45;&gt;2 -->
<g id="edge11" class="edge">
<title>11&#45;&gt;2</title>
<path fill="none" stroke="black" d="M792.98,-230.73C805.66,-242.19 823.87,-258.64 837.89,-271.31"/>
<polygon fill="black" stroke="black" points="835.82,-274.15 845.58,-278.26 840.51,-268.96 835.82,-274.15"/>
<text text-anchor="middle" x="819.58" y="-261.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2&#45;&gt;15 -->
<g id="edge34" class="edge">
<title>2&#45;&gt;15</title>
<path fill="none" stroke="black" d="M855.79,-272.12C847.27,-220.69 819.58,-76 777.78,-76 102.6,-76 102.6,-76 102.6,-76 33.91,-76 22.72,-182.08 21.48,-236.13"/>
<polygon fill="black" stroke="black" points="17.98,-236.15 21.35,-246.2 24.98,-236.24 17.98,-236.15"/>
<text text-anchor="middle" x="447.59" y="-79.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2&#45;&gt;0 -->
<g id="edge33" class="edge">
<title>2&#45;&gt;0</title>
<path fill="none" stroke="black" d="M851.34,-306.56C845.53,-317.71 836.25,-331.68 823.58,-339 814.76,-344.1 512.23,-370.59 418.92,-378.67"/>
<polygon fill="black" stroke="black" points="418.51,-375.19 408.85,-379.53 419.11,-382.16 418.51,-375.19"/>
<text text-anchor="middle" x="641.98" y="-363.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">10</text>
</g>
<!-- 16 -->
<g id="node19" class="node">
<title>16</title>
<ellipse fill="none" stroke="black" cx="942.38" cy="-407" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="942.38" y="-403.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">16</text>
</g>
<!-- 2&#45;&gt;16 -->
<g id="edge35" class="edge">
<title>2&#45;&gt;16</title>
<path fill="none" stroke="black" d="M870.49,-304.35C883.79,-323.61 907.63,-358.14 923.97,-381.79"/>
<polygon fill="black" stroke="black" points="921.26,-384.03 929.82,-390.27 927.02,-380.05 921.26,-384.03"/>
<text text-anchor="middle" x="899.58" y="-356.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 5&#45;&gt;0 -->
<g id="edge13" class="edge">
<title>5&#45;&gt;0</title>
<path fill="none" stroke="black" d="M1016.17,-472.15C1010,-483.32 1000.61,-497.93 989.17,-508 929.25,-560.76 900.42,-570 820.58,-570 503.39,-570 503.39,-570 503.39,-570 465.18,-570 450.35,-561.07 426.79,-531 399.08,-495.63 392.67,-442.08 391.53,-409.45"/>
<polygon fill="black" stroke="black" points="395.03,-409.17 391.33,-399.24 388.03,-409.31 395.03,-409.17"/>
<text text-anchor="middle" x="729.98" y="-573.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">19</text>
</g>
<!-- 9 -->
<g id="node12" class="node">
<title>9</title>
<ellipse fill="none" stroke="black" cx="1105.17" cy="-444" rx="18" ry="18"/>
<text text-anchor="middle" x="1105.17" y="-440.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">9</text>
</g>
<!-- 5&#45;&gt;9 -->
<g id="edge14" class="edge">
<title>5&#45;&gt;9</title>
<path fill="none" stroke="black" d="M1043.1,-453.4C1053.01,-451.87 1065.77,-449.91 1077.05,-448.17"/>
<polygon fill="black" stroke="black" points="1077.93,-451.58 1087.28,-446.6 1076.87,-444.66 1077.93,-451.58"/>
<text text-anchor="middle" x="1065.17" y="-454.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 9&#45;&gt;19 -->
<g id="edge15" class="edge">
<title>9&#45;&gt;19</title>
<path fill="none" stroke="black" d="M1122.92,-439.86C1133,-437.36 1146.11,-434.11 1157.85,-431.21"/>
<polygon fill="black" stroke="black" points="1158.83,-434.57 1167.7,-428.77 1157.15,-427.78 1158.83,-434.57"/>
<text text-anchor="middle" x="1145.17" y="-439.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 14&#45;&gt;7 -->
<g id="edge16" class="edge">
<title>14&#45;&gt;7</title>
<path fill="none" stroke="black" d="M1294.54,-473C1304.74,-473 1317.3,-473 1328.35,-473"/>
<polygon fill="black" stroke="black" points="1328.35,-476.5 1338.35,-473 1328.35,-469.5 1328.35,-476.5"/>
<text text-anchor="middle" x="1316.37" y="-476.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 18 -->
<g id="node15" class="node">
<title>18</title>
<ellipse fill="none" stroke="black" cx="1439.16" cy="-440" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="1439.16" y="-436.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">18</text>
</g>
<!-- 7&#45;&gt;18 -->
<g id="edge18" class="edge">
<title>7&#45;&gt;18</title>
<path fill="none" stroke="black" d="M1373.33,-466.48C1383.85,-462.18 1397.92,-456.44 1410.26,-451.4"/>
<polygon fill="black" stroke="black" points="1411.76,-454.57 1419.69,-447.55 1409.11,-448.09 1411.76,-454.57"/>
<text text-anchor="middle" x="1396.37" y="-462.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 18&#45;&gt;19 -->
<g id="edge17" class="edge">
<title>18&#45;&gt;19</title>
<path fill="none" stroke="black" d="M1418.1,-438.71C1374.45,-435.91 1270.67,-429.25 1219.11,-425.94"/>
<polygon fill="black" stroke="black" points="1219.15,-422.43 1208.94,-425.28 1218.7,-429.42 1219.15,-422.43"/>
<text text-anchor="middle" x="1316.37" y="-436.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 17 -->
<g id="node16" class="node">
<title>17</title>
<ellipse fill="none" stroke="black" cx="595.18" cy="-468" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="595.18" y="-464.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">17</text>
</g>
<!-- 17&#45;&gt;19 -->
<g id="edge21" class="edge">
<title>17&#45;&gt;19</title>
<path fill="none" stroke="black" d="M608.3,-484.48C623.78,-503.44 652.49,-532 684.98,-532 684.98,-532 684.98,-532 1106.17,-532 1145.37,-532 1167.85,-485.83 1178.72,-453.86"/>
<polygon fill="black" stroke="black" points="1182.14,-454.65 1181.85,-444.06 1175.47,-452.52 1182.14,-454.65"/>
<text text-anchor="middle" x="899.58" y="-535.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 17&#45;&gt;6 -->
<g id="edge19" class="edge">
<title>17&#45;&gt;6</title>
<path fill="none" stroke="black" d="M607.81,-451.2C619.54,-433.73 637.64,-405.32 649.98,-379 661.38,-354.71 671.06,-325.64 677.34,-304.94"/>
<polygon fill="black" stroke="black" points="680.73,-305.81 680.22,-295.23 674.02,-303.82 680.73,-305.81"/>
<text text-anchor="middle" x="641.98" y="-413.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 17&#45;&gt;5 -->
<g id="edge20" class="edge">
<title>17&#45;&gt;5</title>
<path fill="none" stroke="black" d="M615.83,-463.8C633.76,-460.34 661.02,-456 684.98,-456 684.98,-456 684.98,-456 943.38,-456 961.27,-456 981.39,-456 997.08,-456"/>
<polygon fill="black" stroke="black" points="997.15,-459.5 1007.15,-456 997.15,-452.5 997.15,-459.5"/>
<text text-anchor="middle" x="819.58" y="-459.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4&#45;&gt;0 -->
<g id="edge23" class="edge">
<title>4&#45;&gt;0</title>
<path fill="none" stroke="black" d="M491.63,-434.98C485.22,-428.4 476.87,-420.64 468.39,-415 452.58,-404.49 433,-395.87 417.59,-389.93"/>
<polygon fill="black" stroke="black" points="418.74,-386.63 408.15,-386.43 416.31,-393.19 418.74,-386.63"/>
<text text-anchor="middle" x="447.59" y="-418.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4&#45;&gt;17 -->
<g id="edge22" class="edge">
<title>4&#45;&gt;17</title>
<path fill="none" stroke="black" d="M522.09,-451.76C534.13,-454.48 550.71,-458.21 564.93,-461.41"/>
<polygon fill="black" stroke="black" points="564.25,-464.85 574.77,-463.63 565.79,-458.02 564.25,-464.85"/>
<text text-anchor="middle" x="548.39" y="-463.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 10&#45;&gt;19 -->
<g id="edge24" class="edge">
<title>10&#45;&gt;19</title>
<path fill="none" stroke="black" d="M468.59,-115.82C505.11,-113.33 584.8,-106.37 649.98,-90 690.49,-79.83 701.07,-76.55 737.98,-57 776.75,-36.46 774.7,0 818.58,0 818.58,0 818.58,0 1106.17,0 1128.06,0 1137.22,-5.67 1149.17,-24 1169.18,-54.67 1181.8,-304.17 1185.69,-392.86"/>
<polygon fill="black" stroke="black" points="1182.2,-393.25 1186.13,-403.09 1189.19,-392.95 1182.2,-393.25"/>
<text text-anchor="middle" x="819.58" y="-4.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;3 -->
<g id="edge31" class="edge">
<title>16&#45;&gt;3</title>
<path fill="none" stroke="black" d="M940.12,-427.95C937.45,-457.2 929.18,-510.85 903.58,-548 877.75,-585.48 866.1,-608 820.58,-608 185.39,-608 185.39,-608 185.39,-608 143.56,-608 117.78,-469.46 108.5,-408.84"/>
<polygon fill="black" stroke="black" points="111.94,-408.19 107.01,-398.81 105.02,-409.22 111.94,-408.19"/>
<text text-anchor="middle" x="548.39" y="-611.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;19 -->
<g id="edge32" class="edge">
<title>16&#45;&gt;19</title>
<path fill="none" stroke="black" d="M963.35,-407.76C996.57,-409.1 1065.22,-412.21 1123.17,-417 1134.25,-417.92 1146.38,-419.18 1157.06,-420.38"/>
<polygon fill="black" stroke="black" points="1156.83,-423.88 1167.17,-421.55 1157.64,-416.93 1156.83,-423.88"/>
<text text-anchor="middle" x="1065.17" y="-417.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;5 -->
<g id="edge29" class="edge">
<title>16&#45;&gt;5</title>
<path fill="none" stroke="black" d="M962.24,-413.85C970.75,-417.28 980.75,-421.81 989.17,-427 994.13,-430.05 999.14,-433.75 1003.75,-437.47"/>
<polygon fill="black" stroke="black" points="1001.64,-440.28 1011.54,-444.06 1006.16,-434.93 1001.64,-440.28"/>
<text text-anchor="middle" x="985.17" y="-430.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;4 -->
<g id="edge30" class="edge">
<title>16&#45;&gt;4</title>
<path fill="none" stroke="black" d="M921.88,-411.16C905.58,-414.27 881.67,-418 860.58,-418 728.98,-418 728.98,-418 728.98,-418 657.28,-418 573.79,-433.34 532.03,-442.08"/>
<polygon fill="black" stroke="black" points="531.16,-438.69 522.11,-444.2 532.62,-445.53 531.16,-438.69"/>
<text text-anchor="middle" x="729.98" y="-422.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 8&#45;&gt;19 -->
<g id="edge36" class="edge">
<title>8&#45;&gt;19</title>
<path fill="none" stroke="black" d="M794.8,-152.33C811.15,-151.75 836.55,-151 858.58,-151 858.58,-151 858.58,-151 1106.17,-151 1156.13,-151 1177.57,-321.18 1184.38,-392.82"/>
<polygon fill="black" stroke="black" points="1180.92,-393.39 1185.32,-403.03 1187.89,-392.75 1180.92,-393.39"/>
<text text-anchor="middle" x="985.17" y="-154.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 8&#45;&gt;2 -->
<g id="edge37" class="edge">
<title>8&#45;&gt;2</title>
<path fill="none" stroke="black" d="M786.74,-168.18C800.69,-191.84 827.74,-237.71 844.37,-265.92"/>
<polygon fill="black" stroke="black" points="841.49,-267.91 849.58,-274.75 847.52,-264.36 841.49,-267.91"/>
<text text-anchor="middle" x="819.58" y="-233.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -26,12 +26,12 @@ test: build
buildApp: buildApp:
ocamlbuild appMedium.native @ocamlbuild appMedium.native
app: buildApp app: buildApp
./appMedium.native @./appMedium.native
dot -Tsvg outFileApp > outFileApp.svg @dot -Tsvg outFileApp > outFileApp.svg
appSource: buildApp appSource: buildApp
./appMedium.native < INPUT @./appMedium.native < INPUT
dot -Tsvg outFileApp > outFileApp.svg @dot -Tsvg outFileApp > outFileApp.svg

View file

@ -13,7 +13,7 @@ hours just to realize that little jimmy can't go to the swimming pool because th
- `make app` if you want to enter the activities and participants one by one in the terminal (we won't judge you) - `make app` if you want to enter the activities and participants one by one in the terminal (we won't judge you)
- `make appSource` if you prefer to enter those `./INPUT` and let the program do it for you - `make appSource` if you prefer to enter those `./INPUT` and let the program do it for you
## inputting data ## Inputting data
The format for the file is as follows : The format for the file is as follows :
*Nb_... and id_... are numbers. The first represent the number of possible participants. The latter will be used to say *Nb_... and id_... are numbers. The first represent the number of possible participants. The latter will be used to say
@ -31,6 +31,14 @@ Participant_2 id_1 id_2 id_3 ... id_n
Participant_m id_1 id_2 id_3 ... id_n Participant_m id_1 id_2 id_3 ... id_n
``` ```
The formatting is the same should you input th information through the terminal. You will be guided along the way. The formatting is the same should you input th information through the terminal. You will be guided along the way.
## Examples
### with a source file
![example_with_source.png](example_with_source.png)
### with the CLI
![Example_without_source_1.png](Example_without_source_1.png)
![Example_without_source_2.png](Example_without_source_2.png)
![Example_without_source_3.png](Example_without_source_3.png)
## NB ## NB
- The application seeks to match **children/students** to **activities/courses** as a - The application seeks to match **children/students** to **activities/courses** as a
@ -44,3 +52,7 @@ The formatting is the same should you input th information through the terminal.
- `make test` enables you to test the first step of the project - `make test` enables you to test the first step of the project
- ⚠️ But it is needed to roll back in the git history before the changes for the "Medium" part were made like - ⚠️ But it is needed to roll back in the git history before the changes for the "Medium" part were made like
[this one](https://git.etud.insa-toulouse.fr/rlacroix/FordFulkersonLeChameau/src/commit/5ca008700e62474cc17b2845e7d2dd061c319861) [this one](https://git.etud.insa-toulouse.fr/rlacroix/FordFulkersonLeChameau/src/commit/5ca008700e62474cc17b2845e7d2dd061c319861)
- An image of the final graph (`./outFileApp.svg`) can be used to get a better understanding of the algorithm here is an example :
![Graph_example.svg](Graph_example.svg)

View file

@ -6,7 +6,7 @@
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/appTools.ml": "\004^\138\189Yz\011d\149\188\227\183\236\162\167\026" "Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/appTools.ml": "\004^\138\189Yz\011d\149\188\227\183\236\162\167\026"
"Rule: ocaml: ml & cmi -> cmx & o (%=src/gfile )": "\236O\148Y\157m\028\183\166?\231a\231\187u\132" "Rule: ocaml: ml & cmi -> cmx & o (%=src/gfile )": "\236O\148Y\157m\028\183\166?\231a\231\187u\132"
"Rule: ocaml dependencies ml (%=src/ftest )": "\230\175qh\130\015\155\249vP\209\027\168Q\212\153" "Rule: ocaml dependencies ml (%=src/ftest )": "\230\175qh\130\015\155\249vP\209\027\168Q\212\153"
"Rule: ocaml: cmx* & o* -> native (%=src/appMedium )": "\206>\142\236!+\211\017\002:\166\189\207\140\227\191" "Rule: ocaml: cmx* & o* -> native (%=src/appMedium )": ".fp\"(\162\159qP\135\211,A/\238\023"
"Rule: ocaml dependencies mli (%=src/display )": "\231~k=1\249%\182S0\233D\212\252\223\161" "Rule: ocaml dependencies mli (%=src/display )": "\231~k=1\249%\182S0\233D\212\252\223\161"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/ftest.ml": "\161\017\169<\253\134ph\188\179@\248\183\026\133'" "Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/ftest.ml": "\161\017\169<\253\134ph\188\179@\248\183\026\133'"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/fordFulkerson.ml": "\018\182\220EC\195\028\nc\215W\207\1876\250\179" "Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/fordFulkerson.ml": "\018\182\220EC\195\028\nc\215W\207\1876\250\179"
@ -23,11 +23,11 @@
"Rule: ocaml: mli -> cmi (%=src/gfile )": "\015\211&r\030l{}\183\187\236\2266\022\129\191" "Rule: ocaml: mli -> cmi (%=src/gfile )": "\015\211&r\030l{}\183\187\236\2266\022\129\191"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/ioApp.mli": "\178\247\139\175\031\167d)\137\166*\002\145\219/\223" "Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/ioApp.mli": "\178\247\139\175\031\167d)\137\166*\002\145\219/\223"
"Rule: ocaml: mli -> cmi (%=src/appTools )": "0\023\150\158\252\178S\158\b\189\169RA\190\195+" "Rule: ocaml: mli -> cmi (%=src/appTools )": "0\023\150\158\252\178S\158\b\189\169RA\190\195+"
"Rule: ocaml: ml & cmi -> cmx & o (%=src/appMedium )": "\157Y\149\133\238K\162\023gsd\150\192\208\236X" "Rule: ocaml: ml & cmi -> cmx & o (%=src/appMedium )": "\146}\229+\212\208\158F:Z\017\150\134(\136\184"
"Rule: ocaml dependencies ml (%=src/tools )": ",\255!)\2477ygb7\022\204V\143/$" "Rule: ocaml dependencies ml (%=src/tools )": ",\255!)\2477ygb7\022\204V\143/$"
"Rule: ocaml: mli -> cmi (%=src/ioApp )": "%\246\167\224\"c>\168\bS,X|ym6" "Rule: ocaml: mli -> cmi (%=src/ioApp )": "%\246\167\224\"c>\168\bS,X|ym6"
"Rule: ocaml dependencies ml (%=src/ioApp )": "\198\012\135\167\128\222.\135f\145\160\132\003n\179\024" "Rule: ocaml dependencies ml (%=src/ioApp )": "Q\141\214\1743\1991O\249\139\214\015r/\r\185"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/ioApp.ml": "%\174LQvF\219@\247\171\144\206\023\248\204O" "Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/ioApp.ml": "\193&\188\138Q/\209+%\222\025\159X~\205\155"
"Rule: ocaml: ml -> cmo & cmi (%=src/ftest )": "\2035PN<\216\182\028\220+~\028\012{V\007" "Rule: ocaml: ml -> cmo & cmi (%=src/ftest )": "\2035PN<\216\182\028\220+~\028\012{V\007"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/fordFulkerson.mli": "_;(\155\176\"\225\011\230\191\031M\168\250\219\170" "Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/fordFulkerson.mli": "_;(\155\176\"\225\011\230\191\031M\168\250\219\170"
"Rule: ocaml dependencies mli (%=src/fordFulkerson )": "\022\200\166Dz0\003\233z\198y\144S\162\2034" "Rule: ocaml dependencies mli (%=src/fordFulkerson )": "\022\200\166Dz0\003\233z\198y\144S\162\2034"
@ -39,7 +39,7 @@
"Rule: ocaml dependencies ml (%=src/fordFulkerson )": "{V\027D\r\028\012\251;\0033@\020;)P" "Rule: ocaml dependencies ml (%=src/fordFulkerson )": "{V\027D\r\028\012\251;\0033@\020;)P"
"Rule: ocaml: ml & cmi -> cmx & o (%=src/appTools )": "\130\144:A,\158^^\248\134@GT\223Qt" "Rule: ocaml: ml & cmi -> cmx & o (%=src/appTools )": "\130\144:A,\158^^\248\134@GT\223Qt"
"Rule: ocaml dependencies ml (%=src/appMedium )": "\148\253\025j\198\175\211\152si\247\179\246DH\237" "Rule: ocaml dependencies ml (%=src/appMedium )": "\148\253\025j\198\175\211\152si\247\179\246DH\237"
"Rule: ocaml: ml & cmi -> cmx & o (%=src/ioApp )": "{\024\188\244z\139\133\157\229I\029\132\136Q\214\246" "Rule: ocaml: ml & cmi -> cmx & o (%=src/ioApp )": "n\163<(Z)z\002J\248;\031#X\215\156"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/tools.mli": "\025v\144\241\237\241\b\248\197tD\012\171\216\202\148" "Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/tools.mli": "\025v\144\241\237\241\b\248\197tD\012\171\216\202\148"
"Rule: ocaml: ml & cmi -> cmx & o (%=src/graph )": "\190\tV\232\254i\031+\141\154\168\219\155n\156C" "Rule: ocaml: ml & cmi -> cmx & o (%=src/graph )": "\190\tV\232\254i\031+\141\154\168\219\155n\156C"
"Rule: ocaml dependencies ml (%=src/graph )": "\137kk#\140\236\011\255?\132T\225M\018\169\224" "Rule: ocaml dependencies ml (%=src/graph )": "\137kk#\140\236\011\255?\132T\225M\018\169\224"

View file

@ -56,11 +56,11 @@
# Target: src/fordFulkerson.cmx, tags: { compile, extension:cmx, extension:ml, file:src/fordFulkerson.cmx, file:src/fordFulkerson.ml, implem, include, native, ocaml, quiet, traverse } # Target: src/fordFulkerson.cmx, tags: { compile, extension:cmx, extension:ml, file:src/fordFulkerson.cmx, file:src/fordFulkerson.ml, implem, include, native, ocaml, quiet, traverse }
/home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -c -I src -o src/fordFulkerson.cmx src/fordFulkerson.ml # cached /home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -c -I src -o src/fordFulkerson.cmx src/fordFulkerson.ml # cached
# Target: src/ioApp.ml.depends, tags: { extension:ml, file:src/ioApp.ml, include, ocaml, ocamldep, quiet, traverse } # Target: src/ioApp.ml.depends, tags: { extension:ml, file:src/ioApp.ml, include, ocaml, ocamldep, quiet, traverse }
/home/chepycou/.opam/4.14.0/bin/ocamldep.opt -modules src/ioApp.ml > src/ioApp.ml.depends /home/chepycou/.opam/4.14.0/bin/ocamldep.opt -modules src/ioApp.ml > src/ioApp.ml.depends # cached
# Target: src/ioApp.cmx, tags: { compile, extension:cmx, extension:ml, file:src/ioApp.cmx, file:src/ioApp.ml, implem, include, native, ocaml, quiet, traverse } # Target: src/ioApp.cmx, tags: { compile, extension:cmx, extension:ml, file:src/ioApp.cmx, file:src/ioApp.ml, implem, include, native, ocaml, quiet, traverse }
/home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -c -I src -o src/ioApp.cmx src/ioApp.ml /home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -c -I src -o src/ioApp.cmx src/ioApp.ml # cached
# Target: src/appMedium.cmx, tags: { compile, extension:cmx, extension:ml, file:src/appMedium.cmx, file:src/appMedium.ml, implem, include, native, ocaml, quiet, traverse } # Target: src/appMedium.cmx, tags: { compile, extension:cmx, extension:ml, file:src/appMedium.cmx, file:src/appMedium.ml, implem, include, native, ocaml, quiet, traverse }
/home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -c -I src -o src/appMedium.cmx src/appMedium.ml /home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -c -I src -o src/appMedium.cmx src/appMedium.ml # cached
# Target: src/appMedium.native, tags: { dont_link_with, extension:native, file:src/appMedium.native, include, link, native, ocaml, program, quiet, traverse } # Target: src/appMedium.native, tags: { dont_link_with, extension:native, file:src/appMedium.native, include, link, native, ocaml, program, quiet, traverse }
/home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -I src src/graph.cmx src/gfile.cmx src/tools.cmx src/appTools.cmx src/display.cmx src/fordFulkerson.cmx src/ioApp.cmx src/appMedium.cmx -o src/appMedium.native /home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -I src src/graph.cmx src/gfile.cmx src/tools.cmx src/appTools.cmx src/display.cmx src/fordFulkerson.cmx src/ioApp.cmx src/appMedium.cmx -o src/appMedium.native # cached
# Compilation successful. # Compilation successful.

BIN
example_with_source.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

View file

@ -12,11 +12,51 @@
node [shape = circle]; node [shape = circle];
4 -> 1 [label = "1"]; 15 -> 3 [label = "1"];
3 -> 1 [label = "1"]; 15 -> 1 [label = "1"];
5 -> 4 [label = "1"]; 15 -> 19 [label = "1"];
5 -> 3 [label = "1"]; 3 -> 12 [label = "1"];
2 -> 5 [label = "1"]; 3 -> 13 [label = "1"];
1 -> 2 [label = "1"]; 3 -> 0 [label = "13"];
0 -> 1 [label = "1"]; 12 -> 19 [label = "1"];
6 -> 0 [label = "49"];
6 -> 11 [label = "1"];
11 -> 19 [label = "1"];
11 -> 2 [label = "1"];
11 -> 1 [label = "1"];
5 -> 0 [label = "19"];
5 -> 9 [label = "1"];
9 -> 19 [label = "1"];
14 -> 7 [label = "1"];
18 -> 19 [label = "1"];
7 -> 18 [label = "1"];
17 -> 6 [label = "1"];
17 -> 5 [label = "1"];
17 -> 19 [label = "1"];
4 -> 17 [label = "1"];
4 -> 0 [label = "1"];
10 -> 19 [label = "1"];
13 -> 2 [label = "1"];
13 -> 1 [label = "1"];
13 -> 19 [label = "1"];
19 -> 14 [label = "1"];
16 -> 5 [label = "1"];
16 -> 4 [label = "1"];
16 -> 3 [label = "1"];
16 -> 19 [label = "1"];
2 -> 0 [label = "10"];
2 -> 15 [label = "1"];
2 -> 16 [label = "1"];
8 -> 19 [label = "1"];
8 -> 2 [label = "1"];
1 -> 10 [label = "1"];
1 -> 8 [label = "1"];
1 -> 0 [label = "13"];
0 -> 2 [label = "2"];
0 -> 6 [label = "1"];
0 -> 5 [label = "1"];
0 -> 7 [label = "1"];
0 -> 4 [label = "1"];
0 -> 3 [label = "2"];
0 -> 1 [label = "2"];
} }

View file

@ -4,95 +4,459 @@
<!-- Generated by graphviz version 2.50.0 (0) <!-- Generated by graphviz version 2.50.0 (0)
--> -->
<!-- Title: finite_state_machine Pages: 1 --> <!-- Title: finite_state_machine Pages: 1 -->
<svg width="364pt" height="113pt" <svg width="1468pt" height="745pt"
viewBox="0.00 0.00 364.00 113.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> viewBox="0.00 0.00 1467.96 745.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 109)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 741)">
<title>finite_state_machine</title> <title>finite_state_machine</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-109 360,-109 360,4 -4,4"/> <polygon fill="white" stroke="transparent" points="-4,4 -4,-741 1463.96,-741 1463.96,4 -4,4"/>
<!-- 4 --> <!-- 15 -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>4</title> <title>15</title>
<ellipse fill="none" stroke="black" cx="18" cy="-87" rx="18" ry="18"/> <ellipse fill="none" stroke="black" cx="20.8" cy="-267" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="18" y="-83.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">4</text> <text text-anchor="middle" x="20.8" y="-263.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">15</text>
</g>
<!-- 1 -->
<g id="node2" class="node">
<title>1</title>
<ellipse fill="none" stroke="black" cx="98" cy="-37" rx="18" ry="18"/>
<text text-anchor="middle" x="98" y="-33.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4&#45;&gt;1 -->
<g id="edge1" class="edge">
<title>4&#45;&gt;1</title>
<path fill="none" stroke="black" d="M33.67,-77.6C45,-70.33 60.89,-60.15 73.92,-51.79"/>
<polygon fill="black" stroke="black" points="75.86,-54.71 82.39,-46.36 72.09,-48.81 75.86,-54.71"/>
<text text-anchor="middle" x="58" y="-66.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2 -->
<g id="node5" class="node">
<title>2</title>
<ellipse fill="none" stroke="black" cx="178" cy="-48" rx="18" ry="18"/>
<text text-anchor="middle" x="178" y="-44.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 1&#45;&gt;2 -->
<g id="edge6" class="edge">
<title>1&#45;&gt;2</title>
<path fill="none" stroke="black" d="M115.92,-39.39C125.84,-40.79 138.59,-42.58 149.88,-44.18"/>
<polygon fill="black" stroke="black" points="149.72,-47.69 160.11,-45.62 150.69,-40.76 149.72,-47.69"/>
<text text-anchor="middle" x="138" y="-45.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g> </g>
<!-- 3 --> <!-- 3 -->
<g id="node3" class="node"> <g id="node2" class="node">
<title>3</title> <title>3</title>
<ellipse fill="none" stroke="black" cx="338" cy="-18" rx="18" ry="18"/> <ellipse fill="none" stroke="black" cx="103.6" cy="-381" rx="18" ry="18"/>
<text text-anchor="middle" x="338" y="-14.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">3</text> <text text-anchor="middle" x="103.6" y="-377.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">3</text>
</g> </g>
<!-- 3&#45;&gt;1 --> <!-- 15&#45;&gt;3 -->
<g id="edge1" class="edge">
<title>15&#45;&gt;3</title>
<path fill="none" stroke="black" d="M33.72,-283.82C47.69,-303.53 70.89,-336.27 86.46,-358.23"/>
<polygon fill="black" stroke="black" points="83.78,-360.5 92.42,-366.64 89.49,-356.46 83.78,-360.5"/>
<text text-anchor="middle" x="63.6" y="-334.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 1 -->
<g id="node3" class="node">
<title>1</title>
<ellipse fill="none" stroke="black" cx="302.79" cy="-191" rx="18" ry="18"/>
<text text-anchor="middle" x="302.79" y="-187.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 15&#45;&gt;1 -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>3&#45;&gt;1</title> <title>15&#45;&gt;1</title>
<path fill="none" stroke="black" d="M319.81,-16.93C288.06,-15.27 218.15,-13 160,-21 148.33,-22.61 135.69,-25.69 124.96,-28.72"/> <path fill="none" stroke="black" d="M40.61,-259.53C67.84,-248.95 119.96,-229.47 165.6,-217 191.66,-209.88 198.66,-210.1 225.19,-205 241.64,-201.84 260.12,-198.46 274.8,-195.81"/>
<polygon fill="black" stroke="black" points="123.95,-25.37 115.35,-31.57 125.94,-32.09 123.95,-25.37"/> <polygon fill="black" stroke="black" points="275.51,-199.24 284.74,-194.03 274.27,-192.35 275.51,-199.24"/>
<text text-anchor="middle" x="218" y="-20.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text> <text text-anchor="middle" x="143.6" y="-228.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g> </g>
<!-- 5 --> <!-- 19 -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>5</title> <title>19</title>
<ellipse fill="none" stroke="black" cx="258" cy="-48" rx="18" ry="18"/> <ellipse fill="none" stroke="black" cx="1187.97" cy="-424" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="258" y="-44.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">5</text> <text text-anchor="middle" x="1187.97" y="-420.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">19</text>
</g> </g>
<!-- 5&#45;&gt;4 --> <!-- 15&#45;&gt;19 -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>5&#45;&gt;4</title> <title>15&#45;&gt;19</title>
<path fill="none" stroke="black" d="M241.99,-57C235.92,-60.41 228.76,-64.16 222,-67 210.85,-71.68 207.89,-72.8 196,-75 143.67,-84.69 81.34,-86.77 46.35,-87.09"/> <path fill="none" stroke="black" d="M23.25,-287.73C29.75,-376.74 57.87,-722 102.6,-722 102.6,-722 102.6,-722 1106.17,-722 1160.97,-722 1179.78,-531.94 1185.13,-455.39"/>
<polygon fill="black" stroke="black" points="45.98,-83.59 36,-87.14 46.02,-90.59 45.98,-83.59"/> <polygon fill="black" stroke="black" points="1188.65,-455.17 1185.82,-444.95 1181.67,-454.7 1188.65,-455.17"/>
<text text-anchor="middle" x="138" y="-86.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text> <text text-anchor="middle" x="641.98" y="-725.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g> </g>
<!-- 5&#45;&gt;3 --> <!-- 12 -->
<g id="node5" class="node">
<title>12</title>
<ellipse fill="none" stroke="black" cx="245.99" cy="-665" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="245.99" y="-661.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">12</text>
</g>
<!-- 3&#45;&gt;12 -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>5&#45;&gt;3</title> <title>3&#45;&gt;12</title>
<path fill="none" stroke="black" d="M275.16,-41.78C285.62,-37.76 299.46,-32.44 311.4,-27.85"/> <path fill="none" stroke="black" d="M104.96,-399.23C106.3,-449.25 112.44,-587.28 139.6,-622 157.84,-645.32 190.83,-656.07 215.06,-660.98"/>
<polygon fill="black" stroke="black" points="312.78,-31.06 320.86,-24.21 310.27,-24.53 312.78,-31.06"/> <polygon fill="black" stroke="black" points="214.7,-664.47 225.16,-662.8 215.94,-657.58 214.7,-664.47"/>
<text text-anchor="middle" x="298" y="-36.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text> <text text-anchor="middle" x="143.6" y="-633.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g> </g>
<!-- 2&#45;&gt;5 --> <!-- 13 -->
<g id="node6" class="node">
<title>13</title>
<ellipse fill="none" stroke="black" cx="186.39" cy="-247" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="186.39" y="-243.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">13</text>
</g>
<!-- 3&#45;&gt;13 -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>2&#45;&gt;5</title> <title>3&#45;&gt;13</title>
<path fill="none" stroke="black" d="M196.31,-48C206.11,-48 218.58,-48 229.67,-48"/> <path fill="none" stroke="black" d="M113.71,-365.89C127.28,-343.38 152.99,-300.75 169.64,-273.12"/>
<polygon fill="black" stroke="black" points="229.74,-51.5 239.74,-48 229.74,-44.5 229.74,-51.5"/> <polygon fill="black" stroke="black" points="172.75,-274.75 174.92,-264.38 166.76,-271.13 172.75,-274.75"/>
<text text-anchor="middle" x="218" y="-51.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text> <text text-anchor="middle" x="143.6" y="-326.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g> </g>
<!-- 0 --> <!-- 0 -->
<g id="node6" class="node"> <g id="node7" class="node">
<title>0</title> <title>0</title>
<ellipse fill="none" stroke="black" cx="18" cy="-26" rx="18" ry="18"/> <ellipse fill="none" stroke="black" cx="390.79" cy="-381" rx="18" ry="18"/>
<text text-anchor="middle" x="18" y="-22.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">0</text> <text text-anchor="middle" x="390.79" y="-377.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">0</text>
</g>
<!-- 3&#45;&gt;0 -->
<g id="edge6" class="edge">
<title>3&#45;&gt;0</title>
<path fill="none" stroke="black" d="M121.68,-377.63C144.97,-373.23 188.04,-365.76 225.19,-363 273.87,-359.39 330.39,-368.49 362.93,-375.02"/>
<polygon fill="black" stroke="black" points="362.5,-378.51 373,-377.12 363.92,-371.66 362.5,-378.51"/>
<text text-anchor="middle" x="245.99" y="-366.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">13</text>
</g>
<!-- 1&#45;&gt;0 -->
<g id="edge40" class="edge">
<title>1&#45;&gt;0</title>
<path fill="none" stroke="black" d="M314.12,-205.21C325.32,-221.1 343.13,-247.91 354.79,-273 367.12,-299.54 376.92,-331.63 382.98,-353.9"/>
<polygon fill="black" stroke="black" points="379.63,-354.91 385.57,-363.68 386.39,-353.11 379.63,-354.91"/>
<text text-anchor="middle" x="346.79" y="-276.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">13</text>
</g>
<!-- 10 -->
<g id="node18" class="node">
<title>10</title>
<ellipse fill="none" stroke="black" cx="447.59" cy="-117" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="447.59" y="-113.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">10</text>
</g>
<!-- 1&#45;&gt;10 -->
<g id="edge38" class="edge">
<title>1&#45;&gt;10</title>
<path fill="none" stroke="black" d="M307.78,-173.43C312.39,-157.61 321.63,-135.17 338.79,-124 361.82,-109 393.81,-108.88 416.96,-111.52"/>
<polygon fill="black" stroke="black" points="416.52,-114.99 426.9,-112.88 417.47,-108.06 416.52,-114.99"/>
<text text-anchor="middle" x="346.79" y="-127.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 8 -->
<g id="node20" class="node">
<title>8</title>
<ellipse fill="none" stroke="black" cx="776.78" cy="-153" rx="18" ry="18"/>
<text text-anchor="middle" x="776.78" y="-149.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">8</text>
</g>
<!-- 1&#45;&gt;8 -->
<g id="edge39" class="edge">
<title>1&#45;&gt;8</title>
<path fill="none" stroke="black" d="M317.57,-180.62C333.9,-169.37 362.37,-153 389.79,-153 389.79,-153 389.79,-153 686.98,-153 707.66,-153 731.06,-153 748.64,-153"/>
<polygon fill="black" stroke="black" points="748.76,-156.5 758.76,-153 748.76,-149.5 748.76,-156.5"/>
<text text-anchor="middle" x="548.39" y="-156.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 14 -->
<g id="node13" class="node">
<title>14</title>
<ellipse fill="none" stroke="black" cx="1273.57" cy="-473" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="1273.57" y="-469.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">14</text>
</g>
<!-- 19&#45;&gt;14 -->
<g id="edge28" class="edge">
<title>19&#45;&gt;14</title>
<path fill="none" stroke="black" d="M1206.29,-434.15C1217.84,-440.92 1233.23,-449.94 1246.27,-457.59"/>
<polygon fill="black" stroke="black" points="1244.87,-460.82 1255.27,-462.86 1248.41,-454.78 1244.87,-460.82"/>
<text text-anchor="middle" x="1230.77" y="-453.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 12&#45;&gt;19 -->
<g id="edge7" class="edge">
<title>12&#45;&gt;19</title>
<path fill="none" stroke="black" d="M266.09,-670.91C285.84,-676.49 317.67,-684 345.79,-684 345.79,-684 345.79,-684 1106.17,-684 1153.62,-684 1176.34,-524.1 1183.94,-455.09"/>
<polygon fill="black" stroke="black" points="1187.45,-455.15 1185.03,-444.84 1180.49,-454.41 1187.45,-455.15"/>
<text text-anchor="middle" x="729.98" y="-687.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 13&#45;&gt;1 -->
<g id="edge26" class="edge">
<title>13&#45;&gt;1</title>
<path fill="none" stroke="black" d="M204.49,-236.52C210.89,-232.73 218.3,-228.52 225.19,-225 241.82,-216.5 261.04,-207.98 276.06,-201.59"/>
<polygon fill="black" stroke="black" points="277.84,-204.63 285.71,-197.53 275.13,-198.18 277.84,-204.63"/>
<text text-anchor="middle" x="245.99" y="-228.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 13&#45;&gt;19 -->
<g id="edge27" class="edge">
<title>13&#45;&gt;19</title>
<path fill="none" stroke="black" d="M192.22,-226.96C206.15,-174.65 251.55,-38 345.79,-38 345.79,-38 345.79,-38 1106.17,-38 1178.54,-38 1186.49,-301.17 1187.06,-392.91"/>
<polygon fill="black" stroke="black" points="1183.56,-392.99 1187.1,-402.97 1190.56,-392.96 1183.56,-392.99"/>
<text text-anchor="middle" x="729.98" y="-41.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2 -->
<g id="node10" class="node">
<title>2</title>
<ellipse fill="none" stroke="black" cx="859.58" cy="-290" rx="18" ry="18"/>
<text text-anchor="middle" x="859.58" y="-286.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 13&#45;&gt;2 -->
<g id="edge25" class="edge">
<title>13&#45;&gt;2</title>
<path fill="none" stroke="black" d="M207.25,-246.12C293.14,-242.43 633.05,-229.35 737.98,-248 774.08,-254.42 780.9,-264.1 815.58,-276 821.05,-277.88 826.94,-279.84 832.55,-281.67"/>
<polygon fill="black" stroke="black" points="831.61,-285.05 842.2,-284.8 833.77,-278.39 831.61,-285.05"/>
<text text-anchor="middle" x="548.39" y="-242.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 0&#45;&gt;3 -->
<g id="edge46" class="edge">
<title>0&#45;&gt;3</title>
<path fill="none" stroke="black" d="M372.75,-383.93C367.06,-384.77 360.67,-385.58 354.79,-386 259.39,-392.78 235,-392.78 139.6,-386 137.02,-385.82 134.35,-385.56 131.69,-385.26"/>
<polygon fill="black" stroke="black" points="132.01,-381.77 121.63,-383.93 131.09,-388.71 132.01,-381.77"/>
<text text-anchor="middle" x="245.99" y="-395.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g> </g>
<!-- 0&#45;&gt;1 --> <!-- 0&#45;&gt;1 -->
<g id="edge7" class="edge"> <g id="edge47" class="edge">
<title>0&#45;&gt;1</title> <title>0&#45;&gt;1</title>
<path fill="none" stroke="black" d="M36.24,-25.4C44.14,-25.38 53.58,-25.72 62,-27 64.93,-27.44 67.96,-28.06 70.95,-28.77"/> <path fill="none" stroke="black" d="M380.56,-365.91C369.72,-347.81 351.59,-316.37 338.79,-288 328.32,-264.79 318.68,-237.44 312.18,-217.7"/>
<polygon fill="black" stroke="black" points="70.24,-32.21 80.81,-31.44 72.07,-25.45 70.24,-32.21"/> <polygon fill="black" stroke="black" points="315.49,-216.57 309.08,-208.14 308.83,-218.73 315.49,-216.57"/>
<text text-anchor="middle" x="58" y="-30.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text> <text text-anchor="middle" x="346.79" y="-323.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 6 -->
<g id="node8" class="node">
<title>6</title>
<ellipse fill="none" stroke="black" cx="685.98" cy="-278" rx="18" ry="18"/>
<text text-anchor="middle" x="685.98" y="-274.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">6</text>
</g>
<!-- 0&#45;&gt;6 -->
<g id="edge42" class="edge">
<title>0&#45;&gt;6</title>
<path fill="none" stroke="black" d="M395.87,-363.65C400.6,-347.26 410,-323.16 426.79,-309 493.49,-252.76 606.62,-263.76 658.07,-272.54"/>
<polygon fill="black" stroke="black" points="657.61,-276.01 668.08,-274.35 658.86,-269.12 657.61,-276.01"/>
<text text-anchor="middle" x="548.39" y="-270.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 0&#45;&gt;2 -->
<g id="edge41" class="edge">
<title>0&#45;&gt;2</title>
<path fill="none" stroke="black" d="M408.07,-375.94C413.94,-374.23 420.63,-372.4 426.79,-371 601.22,-331.48 651.4,-352.37 823.58,-304 826.79,-303.1 830.11,-302 833.37,-300.82"/>
<polygon fill="black" stroke="black" points="834.75,-304.04 842.8,-297.14 832.21,-297.52 834.75,-304.04"/>
<text text-anchor="middle" x="641.98" y="-343.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 5 -->
<g id="node11" class="node">
<title>5</title>
<ellipse fill="none" stroke="black" cx="1025.17" cy="-456" rx="18" ry="18"/>
<text text-anchor="middle" x="1025.17" y="-452.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">5</text>
</g>
<!-- 0&#45;&gt;5 -->
<g id="edge43" class="edge">
<title>0&#45;&gt;5</title>
<path fill="none" stroke="black" d="M394.34,-398.95C398.05,-418.19 406.82,-448.25 426.79,-465 530.16,-551.71 594.06,-494 728.98,-494 728.98,-494 728.98,-494 943.38,-494 964.76,-494 986.55,-482.97 1002.11,-472.79"/>
<polygon fill="black" stroke="black" points="1004.27,-475.56 1010.5,-466.99 1000.28,-469.8 1004.27,-475.56"/>
<text text-anchor="middle" x="729.98" y="-498.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 7 -->
<g id="node14" class="node">
<title>7</title>
<ellipse fill="none" stroke="black" cx="1356.37" cy="-473" rx="18" ry="18"/>
<text text-anchor="middle" x="1356.37" y="-469.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">7</text>
</g>
<!-- 0&#45;&gt;7 -->
<g id="edge44" class="edge">
<title>0&#45;&gt;7</title>
<path fill="none" stroke="black" d="M391.2,-399.21C390.29,-459.09 396.06,-646 503.39,-646 503.39,-646 503.39,-646 1274.57,-646 1337.59,-646 1351.57,-550.58 1354.59,-501.47"/>
<polygon fill="black" stroke="black" points="1358.1,-501.35 1355.1,-491.19 1351.11,-501 1358.1,-501.35"/>
<text text-anchor="middle" x="899.58" y="-649.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4 -->
<g id="node17" class="node">
<title>4</title>
<ellipse fill="none" stroke="black" cx="504.39" cy="-448" rx="18" ry="18"/>
<text text-anchor="middle" x="504.39" y="-444.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">4</text>
</g>
<!-- 0&#45;&gt;4 -->
<g id="edge45" class="edge">
<title>0&#45;&gt;4</title>
<path fill="none" stroke="black" d="M399.35,-397.04C405.3,-407.96 414.63,-421.85 426.79,-430 441.35,-439.77 460.57,-444.26 476.12,-446.32"/>
<polygon fill="black" stroke="black" points="475.87,-449.82 486.19,-447.39 476.61,-442.85 475.87,-449.82"/>
<text text-anchor="middle" x="447.59" y="-449.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 6&#45;&gt;0 -->
<g id="edge8" class="edge">
<title>6&#45;&gt;0</title>
<path fill="none" stroke="black" d="M667.94,-279.66C617.01,-284.89 467.03,-302.25 426.79,-329 417.04,-335.48 409.3,-345.7 403.61,-355.37"/>
<polygon fill="black" stroke="black" points="400.44,-353.87 398.77,-364.34 406.6,-357.2 400.44,-353.87"/>
<text text-anchor="middle" x="548.39" y="-300.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">49</text>
</g>
<!-- 11 -->
<g id="node9" class="node">
<title>11</title>
<ellipse fill="none" stroke="black" cx="776.78" cy="-217" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="776.78" y="-213.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">11</text>
</g>
<!-- 6&#45;&gt;11 -->
<g id="edge9" class="edge">
<title>6&#45;&gt;11</title>
<path fill="none" stroke="black" d="M701.25,-268.2C714.57,-259.05 734.74,-245.19 750.74,-234.2"/>
<polygon fill="black" stroke="black" points="752.87,-236.99 759.13,-228.44 748.9,-231.22 752.87,-236.99"/>
<text text-anchor="middle" x="729.98" y="-256.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 11&#45;&gt;1 -->
<g id="edge12" class="edge">
<title>11&#45;&gt;1</title>
<path fill="none" stroke="black" d="M757.53,-208.34C739.89,-200.78 712.2,-191 686.98,-191 389.79,-191 389.79,-191 389.79,-191 370.19,-191 348.08,-191 331.19,-191"/>
<polygon fill="black" stroke="black" points="330.92,-187.5 320.92,-191 330.92,-194.5 330.92,-187.5"/>
<text text-anchor="middle" x="548.39" y="-194.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 11&#45;&gt;19 -->
<g id="edge10" class="edge">
<title>11&#45;&gt;19</title>
<path fill="none" stroke="black" d="M795.15,-207.21C811.12,-199.13 835.72,-189 858.58,-189 858.58,-189 858.58,-189 1106.17,-189 1148.79,-189 1173.75,-328.97 1182.93,-392.86"/>
<polygon fill="black" stroke="black" points="1179.51,-393.72 1184.36,-403.15 1186.45,-392.76 1179.51,-393.72"/>
<text text-anchor="middle" x="985.17" y="-192.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 11&#45;&gt;2 -->
<g id="edge11" class="edge">
<title>11&#45;&gt;2</title>
<path fill="none" stroke="black" d="M792.98,-230.73C805.66,-242.19 823.87,-258.64 837.89,-271.31"/>
<polygon fill="black" stroke="black" points="835.82,-274.15 845.58,-278.26 840.51,-268.96 835.82,-274.15"/>
<text text-anchor="middle" x="819.58" y="-261.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2&#45;&gt;15 -->
<g id="edge34" class="edge">
<title>2&#45;&gt;15</title>
<path fill="none" stroke="black" d="M855.79,-272.12C847.27,-220.69 819.58,-76 777.78,-76 102.6,-76 102.6,-76 102.6,-76 33.91,-76 22.72,-182.08 21.48,-236.13"/>
<polygon fill="black" stroke="black" points="17.98,-236.15 21.35,-246.2 24.98,-236.24 17.98,-236.15"/>
<text text-anchor="middle" x="447.59" y="-79.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2&#45;&gt;0 -->
<g id="edge33" class="edge">
<title>2&#45;&gt;0</title>
<path fill="none" stroke="black" d="M851.34,-306.56C845.53,-317.71 836.25,-331.68 823.58,-339 814.76,-344.1 512.23,-370.59 418.92,-378.67"/>
<polygon fill="black" stroke="black" points="418.51,-375.19 408.85,-379.53 419.11,-382.16 418.51,-375.19"/>
<text text-anchor="middle" x="641.98" y="-363.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">10</text>
</g>
<!-- 16 -->
<g id="node19" class="node">
<title>16</title>
<ellipse fill="none" stroke="black" cx="942.38" cy="-407" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="942.38" y="-403.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">16</text>
</g>
<!-- 2&#45;&gt;16 -->
<g id="edge35" class="edge">
<title>2&#45;&gt;16</title>
<path fill="none" stroke="black" d="M870.49,-304.35C883.79,-323.61 907.63,-358.14 923.97,-381.79"/>
<polygon fill="black" stroke="black" points="921.26,-384.03 929.82,-390.27 927.02,-380.05 921.26,-384.03"/>
<text text-anchor="middle" x="899.58" y="-356.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 5&#45;&gt;0 -->
<g id="edge13" class="edge">
<title>5&#45;&gt;0</title>
<path fill="none" stroke="black" d="M1016.17,-472.15C1010,-483.32 1000.61,-497.93 989.17,-508 929.25,-560.76 900.42,-570 820.58,-570 503.39,-570 503.39,-570 503.39,-570 465.18,-570 450.35,-561.07 426.79,-531 399.08,-495.63 392.67,-442.08 391.53,-409.45"/>
<polygon fill="black" stroke="black" points="395.03,-409.17 391.33,-399.24 388.03,-409.31 395.03,-409.17"/>
<text text-anchor="middle" x="729.98" y="-573.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">19</text>
</g>
<!-- 9 -->
<g id="node12" class="node">
<title>9</title>
<ellipse fill="none" stroke="black" cx="1105.17" cy="-444" rx="18" ry="18"/>
<text text-anchor="middle" x="1105.17" y="-440.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">9</text>
</g>
<!-- 5&#45;&gt;9 -->
<g id="edge14" class="edge">
<title>5&#45;&gt;9</title>
<path fill="none" stroke="black" d="M1043.1,-453.4C1053.01,-451.87 1065.77,-449.91 1077.05,-448.17"/>
<polygon fill="black" stroke="black" points="1077.93,-451.58 1087.28,-446.6 1076.87,-444.66 1077.93,-451.58"/>
<text text-anchor="middle" x="1065.17" y="-454.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 9&#45;&gt;19 -->
<g id="edge15" class="edge">
<title>9&#45;&gt;19</title>
<path fill="none" stroke="black" d="M1122.92,-439.86C1133,-437.36 1146.11,-434.11 1157.85,-431.21"/>
<polygon fill="black" stroke="black" points="1158.83,-434.57 1167.7,-428.77 1157.15,-427.78 1158.83,-434.57"/>
<text text-anchor="middle" x="1145.17" y="-439.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 14&#45;&gt;7 -->
<g id="edge16" class="edge">
<title>14&#45;&gt;7</title>
<path fill="none" stroke="black" d="M1294.54,-473C1304.74,-473 1317.3,-473 1328.35,-473"/>
<polygon fill="black" stroke="black" points="1328.35,-476.5 1338.35,-473 1328.35,-469.5 1328.35,-476.5"/>
<text text-anchor="middle" x="1316.37" y="-476.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 18 -->
<g id="node15" class="node">
<title>18</title>
<ellipse fill="none" stroke="black" cx="1439.16" cy="-440" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="1439.16" y="-436.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">18</text>
</g>
<!-- 7&#45;&gt;18 -->
<g id="edge18" class="edge">
<title>7&#45;&gt;18</title>
<path fill="none" stroke="black" d="M1373.33,-466.48C1383.85,-462.18 1397.92,-456.44 1410.26,-451.4"/>
<polygon fill="black" stroke="black" points="1411.76,-454.57 1419.69,-447.55 1409.11,-448.09 1411.76,-454.57"/>
<text text-anchor="middle" x="1396.37" y="-462.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 18&#45;&gt;19 -->
<g id="edge17" class="edge">
<title>18&#45;&gt;19</title>
<path fill="none" stroke="black" d="M1418.1,-438.71C1374.45,-435.91 1270.67,-429.25 1219.11,-425.94"/>
<polygon fill="black" stroke="black" points="1219.15,-422.43 1208.94,-425.28 1218.7,-429.42 1219.15,-422.43"/>
<text text-anchor="middle" x="1316.37" y="-436.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 17 -->
<g id="node16" class="node">
<title>17</title>
<ellipse fill="none" stroke="black" cx="595.18" cy="-468" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="595.18" y="-464.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">17</text>
</g>
<!-- 17&#45;&gt;19 -->
<g id="edge21" class="edge">
<title>17&#45;&gt;19</title>
<path fill="none" stroke="black" d="M608.3,-484.48C623.78,-503.44 652.49,-532 684.98,-532 684.98,-532 684.98,-532 1106.17,-532 1145.37,-532 1167.85,-485.83 1178.72,-453.86"/>
<polygon fill="black" stroke="black" points="1182.14,-454.65 1181.85,-444.06 1175.47,-452.52 1182.14,-454.65"/>
<text text-anchor="middle" x="899.58" y="-535.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 17&#45;&gt;6 -->
<g id="edge19" class="edge">
<title>17&#45;&gt;6</title>
<path fill="none" stroke="black" d="M607.81,-451.2C619.54,-433.73 637.64,-405.32 649.98,-379 661.38,-354.71 671.06,-325.64 677.34,-304.94"/>
<polygon fill="black" stroke="black" points="680.73,-305.81 680.22,-295.23 674.02,-303.82 680.73,-305.81"/>
<text text-anchor="middle" x="641.98" y="-413.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 17&#45;&gt;5 -->
<g id="edge20" class="edge">
<title>17&#45;&gt;5</title>
<path fill="none" stroke="black" d="M615.83,-463.8C633.76,-460.34 661.02,-456 684.98,-456 684.98,-456 684.98,-456 943.38,-456 961.27,-456 981.39,-456 997.08,-456"/>
<polygon fill="black" stroke="black" points="997.15,-459.5 1007.15,-456 997.15,-452.5 997.15,-459.5"/>
<text text-anchor="middle" x="819.58" y="-459.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4&#45;&gt;0 -->
<g id="edge23" class="edge">
<title>4&#45;&gt;0</title>
<path fill="none" stroke="black" d="M491.63,-434.98C485.22,-428.4 476.87,-420.64 468.39,-415 452.58,-404.49 433,-395.87 417.59,-389.93"/>
<polygon fill="black" stroke="black" points="418.74,-386.63 408.15,-386.43 416.31,-393.19 418.74,-386.63"/>
<text text-anchor="middle" x="447.59" y="-418.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4&#45;&gt;17 -->
<g id="edge22" class="edge">
<title>4&#45;&gt;17</title>
<path fill="none" stroke="black" d="M522.09,-451.76C534.13,-454.48 550.71,-458.21 564.93,-461.41"/>
<polygon fill="black" stroke="black" points="564.25,-464.85 574.77,-463.63 565.79,-458.02 564.25,-464.85"/>
<text text-anchor="middle" x="548.39" y="-463.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 10&#45;&gt;19 -->
<g id="edge24" class="edge">
<title>10&#45;&gt;19</title>
<path fill="none" stroke="black" d="M468.59,-115.82C505.11,-113.33 584.8,-106.37 649.98,-90 690.49,-79.83 701.07,-76.55 737.98,-57 776.75,-36.46 774.7,0 818.58,0 818.58,0 818.58,0 1106.17,0 1128.06,0 1137.22,-5.67 1149.17,-24 1169.18,-54.67 1181.8,-304.17 1185.69,-392.86"/>
<polygon fill="black" stroke="black" points="1182.2,-393.25 1186.13,-403.09 1189.19,-392.95 1182.2,-393.25"/>
<text text-anchor="middle" x="819.58" y="-4.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;3 -->
<g id="edge31" class="edge">
<title>16&#45;&gt;3</title>
<path fill="none" stroke="black" d="M940.12,-427.95C937.45,-457.2 929.18,-510.85 903.58,-548 877.75,-585.48 866.1,-608 820.58,-608 185.39,-608 185.39,-608 185.39,-608 143.56,-608 117.78,-469.46 108.5,-408.84"/>
<polygon fill="black" stroke="black" points="111.94,-408.19 107.01,-398.81 105.02,-409.22 111.94,-408.19"/>
<text text-anchor="middle" x="548.39" y="-611.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;19 -->
<g id="edge32" class="edge">
<title>16&#45;&gt;19</title>
<path fill="none" stroke="black" d="M963.35,-407.76C996.57,-409.1 1065.22,-412.21 1123.17,-417 1134.25,-417.92 1146.38,-419.18 1157.06,-420.38"/>
<polygon fill="black" stroke="black" points="1156.83,-423.88 1167.17,-421.55 1157.64,-416.93 1156.83,-423.88"/>
<text text-anchor="middle" x="1065.17" y="-417.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;5 -->
<g id="edge29" class="edge">
<title>16&#45;&gt;5</title>
<path fill="none" stroke="black" d="M962.24,-413.85C970.75,-417.28 980.75,-421.81 989.17,-427 994.13,-430.05 999.14,-433.75 1003.75,-437.47"/>
<polygon fill="black" stroke="black" points="1001.64,-440.28 1011.54,-444.06 1006.16,-434.93 1001.64,-440.28"/>
<text text-anchor="middle" x="985.17" y="-430.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;4 -->
<g id="edge30" class="edge">
<title>16&#45;&gt;4</title>
<path fill="none" stroke="black" d="M921.88,-411.16C905.58,-414.27 881.67,-418 860.58,-418 728.98,-418 728.98,-418 728.98,-418 657.28,-418 573.79,-433.34 532.03,-442.08"/>
<polygon fill="black" stroke="black" points="531.16,-438.69 522.11,-444.2 532.62,-445.53 531.16,-438.69"/>
<text text-anchor="middle" x="729.98" y="-422.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 8&#45;&gt;19 -->
<g id="edge36" class="edge">
<title>8&#45;&gt;19</title>
<path fill="none" stroke="black" d="M794.8,-152.33C811.15,-151.75 836.55,-151 858.58,-151 858.58,-151 858.58,-151 1106.17,-151 1156.13,-151 1177.57,-321.18 1184.38,-392.82"/>
<polygon fill="black" stroke="black" points="1180.92,-393.39 1185.32,-403.03 1187.89,-392.75 1180.92,-393.39"/>
<text text-anchor="middle" x="985.17" y="-154.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 8&#45;&gt;2 -->
<g id="edge37" class="edge">
<title>8&#45;&gt;2</title>
<path fill="none" stroke="black" d="M786.74,-168.18C800.69,-191.84 827.74,-237.71 844.37,-265.92"/>
<polygon fill="black" stroke="black" points="841.49,-267.91 849.58,-274.75 847.52,-264.36 841.49,-267.91"/>
<text text-anchor="middle" x="819.58" y="-233.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -31,6 +31,7 @@ let enterAllChoices () =
(); inner xs i (); inner xs i
in in
let _ = Sys.command "clear" in
print_string "Enter the possible choices for the children separated \ print_string "Enter the possible choices for the children separated \
by new lines and followed by their capacity, hit enter twice to finish \n"; by new lines and followed by their capacity, hit enter twice to finish \n";
inner [] 1 inner [] 1
@ -43,6 +44,7 @@ let displayAllChoices xs =
| x :: xs -> inner (i+1) ( acc ^ (string_of_int i) ^ " : " ^ x ^ "\n") xs | x :: xs -> inner (i+1) ( acc ^ (string_of_int i) ^ " : " ^ x ^ "\n") xs
in in
let _ = Sys.command "clear" in
print_string (inner 1 "" xs) print_string (inner 1 "" xs)
@ -136,14 +138,15 @@ let outputData g childrenList choicesList =
| [] -> print_string acc | [] -> print_string acc
| x :: xs -> | x :: xs ->
(inner (inner
(acc ^ "\n" ^ (fst3 x) ^ " : " ^ (findAssignedChildren x)) (acc ^ (fst3 x) ^ " : " ^ (findAssignedChildren x) ^ "\n")
g xs g xs
) )
in in
let _ = Sys.command "clear" in
inner "" g choicesList; inner "" g choicesList;
print_string("\n the children that did not appear above could \ print_string("The children that did not appear above (if any) could \
not be assigned any activity : " ^ listIdleChildren) not be assigned any activity : " ^ listIdleChildren)