Skip to content

Instantly share code, notes, and snippets.

@kik
Created April 12, 2015 10:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kik/59f21bdb1ae7fdb320f5 to your computer and use it in GitHub Desktop.
Save kik/59f21bdb1ae7fdb320f5 to your computer and use it in GitHub Desktop.
GCJ2015 Q D
G = 'GABRIEL'
R = 'RICHARD'
def solve(x, r, c)
#p [x, r, c]
if r > c
r, c = c, r
end
# r <= c
if r * c % x != 0
return R
end
return R if x >= 7
return G if x == 1
return G if x == 2
if x == 3
return R if r == 1
return G
end
if x == 4
return R if r == 1
return R if c <= 3
return R if r == 2
G
end
if x == 5
return R if r == 1
return R if c <= 4
return R if r == 2
# 3x5
#
# ..XX. .XX..
# .XX.. ..XX.
# .X... ...X.
#
return R if r == 3 && c == 5
G
end
if x == 6
return R if r == 1
return R if c <= 5
return R if r == 2
# 3x6
#
# ..XXX.
# .XX...
# .X....
#
return R if r == 3
G
end
G
end
T = gets.to_i
1.upto(T) {|cas|
xs = gets.split(' ').map {|z| z.to_i}
r = solve(xs[0], xs[1], xs[2])
printf "Case #%d: %s\n", cas, r
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment