Hex Artifact Content
Not logged in

Artifact 7857b17ad5edb6a752dd5335d60d8cc11b45d0e4:


0000: 53 54 44 45 52 52 2e 70 72 69 6e 74 20 22 4e 75  STDERR.print "Nu
0010: 6d 62 65 72 20 6f 66 20 6e 6f 64 65 73 3f 20 22  mber of nodes? "
0020: 0a 56 20 3d 20 67 65 74 73 2e 74 6f 5f 69 0a 0a  .V = gets.to_i..
0030: 53 54 44 45 52 52 2e 70 72 69 6e 74 20 22 44 69  STDERR.print "Di
0040: 72 65 63 74 65 64 20 28 75 2f 64 29 3f 20 22 0a  rected (u/d)? ".
0050: 44 20 3d 20 28 67 65 74 73 2e 63 68 6f 6d 70 2e  D = (gets.chomp.
0060: 64 6f 77 6e 63 61 73 65 3d 3d 22 64 22 29 3b 0a  downcase=="d");.
0070: 0a 45 53 20 3d 20 5b 5d 0a 6c 6f 6f 70 20 64 6f  .ES = [].loop do
0080: 0a 09 53 54 44 45 52 52 2e 70 72 69 6e 74 20 22  ..STDERR.print "
0090: 45 64 67 65 20 28 75 20 76 29 3f 20 22 0a 09 65  Edge (u v)? "..e
00a0: 64 67 65 20 3d 20 67 65 74 73 2e 73 70 6c 69 74  dge = gets.split
00b0: 2e 6d 61 70 28 26 3a 74 6f 5f 69 29 0a 09 62 72  .map(&:to_i)..br
00c0: 65 61 6b 20 69 66 20 65 64 67 65 2e 73 69 7a 65  eak if edge.size
00d0: 3d 3d 30 0a 09 45 53 20 3c 3c 20 65 64 67 65 0a  ==0..ES << edge.
00e0: 65 6e 64 0a 0a 56 2e 74 69 6d 65 73 20 64 6f 20  end..V.times do 
00f0: 7c 79 7c 0a 09 70 75 74 73 20 28 30 2e 2e 2e 56  |y|..puts (0...V
0100: 29 2e 6d 61 70 7b 7c 78 7c 0a 09 09 28 44 20 3f  ).map{|x|...(D ?
0110: 20 45 53 2e 69 6e 64 65 78 28 5b 79 2c 78 5d 29   ES.index([y,x])
0120: 20 3a 20 45 53 2e 69 6e 64 65 78 28 5b 79 2c 78   : ES.index([y,x
0130: 5d 29 20 7c 7c 20 45 53 2e 69 6e 64 65 78 28 5b  ]) || ES.index([
0140: 78 2c 79 5d 29 29 20 3f 20 22 59 22 20 3a 20 22  x,y])) ? "Y" : "
0150: 4e 22 0a 09 7d 2a 22 22 0a 65 6e 64 0a           N"..}*"".end.