# AtCoder Beginner Contest 035

URL: https://atcoder.jp/contests/abc035 (opens new window)

# C

n,q = gets.chomp.split(" ").map(&:to_i)

# i番目における始点と終点の個数を管理
l_hash = {}
r_hash = {}

q.times do
  l,r = gets.chomp.split(" ").map(&:to_i)
  l_hash[l] ||= 0
  l_hash[l] += 1
  r_hash[r] ||= 0
  r_hash[r] += 1
end

result = []
num = 0
# i番目における白黒を求める
(1..n).each do |i|
  # 始点にかかる個数によって裏返す回数が増える
  num += l_hash[i].to_i
  # 白黒は偶奇によって決まる
  num %= 2
  result << num
  # 終点にかかる個数によって裏返す回数が減る
  num -= r_hash[i].to_i
end

puts result.join("")
Last Updated: 2020/08/29 17:41