2ba3bf09a0 2013-05-11 kinaba: STDERR.print "Number of nodes? " 2ba3bf09a0 2013-05-11 kinaba: V = gets.to_i 2ba3bf09a0 2013-05-11 kinaba: 2ba3bf09a0 2013-05-11 kinaba: STDERR.print "Directed (u/d)? " 2ba3bf09a0 2013-05-11 kinaba: D = (gets.chomp.downcase=="d"); 2ba3bf09a0 2013-05-11 kinaba: 2ba3bf09a0 2013-05-11 kinaba: ES = [] 2ba3bf09a0 2013-05-11 kinaba: loop do 2ba3bf09a0 2013-05-11 kinaba: STDERR.print "Edge (u v)? " 2ba3bf09a0 2013-05-11 kinaba: edge = gets.split.map(&:to_i) 2ba3bf09a0 2013-05-11 kinaba: break if edge.size==0 2ba3bf09a0 2013-05-11 kinaba: ES << edge 2ba3bf09a0 2013-05-11 kinaba: end 2ba3bf09a0 2013-05-11 kinaba: 2ba3bf09a0 2013-05-11 kinaba: V.times do |y| 2ba3bf09a0 2013-05-11 kinaba: puts (0...V).map{|x| 2ba3bf09a0 2013-05-11 kinaba: (D ? ES.index([y,x]) : ES.index([y,x]) || ES.index([x,y])) ? "Y" : "N" 2ba3bf09a0 2013-05-11 kinaba: }*"" 2ba3bf09a0 2013-05-11 kinaba: end