Skip to content

Instantly share code, notes, and snippets.

@mejibyte
Created November 30, 2011 01:09
Show Gist options
  • Save mejibyte/1407488 to your computer and use it in GitHub Desktop.
Save mejibyte/1407488 to your computer and use it in GitHub Desktop.
Validator for problem Granica
#!/usr/bin/env ruby
if ARGV.size < 3
puts "Usage: #{__FILE__} <testdata.in> <program.out> <testdata.out>"
exit 1
end
in_file = ARGV[0]
team_file = ARGV[1]
ans_file = ARGV[2]
team_numbers = File.read(team_file).split
correct_numbers = File.read(ans_file).split
team_numbers.sort!
correct_numbers.sort!
if team_numbers.size != correct_numbers.size
STDOUT.puts "Wrong answer: Got #{team_numbers.size} numbers but expected #{correct_numbers.size}."
exit 0
end
if team_numbers != correct_numbers
missing_numbers = correct_numbers - (team_numbers & correct_numbers)
STDOUT.puts "Wrong answer: #{missing_numbers.join(", ")} #{missing_numbers.size > 1 ? "are" : "is"} missing in team's output."
exit 0
end
# Correct
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment