Submission #690130


Source Code Expand

b = gets.to_s.chomp.to_i#split(" ").map(&:to_i)
a = {} #of Int32 => Array(Int32)
(b-1).times do
  t = gets.to_s.chomp.split(" ").map{|s| s.to_i}
  a[t[0]] = [] unless a[t[0]]#?
  a[t[0]] << t[1]
  
  a[t[1]] = [] unless a[t[1]]#?
  a[t[1]] << t[0]
end

B = [*0..b].map {0}
W = [*0..b].map {0}
 
def dfs(num,prev, a)
  B[num]=1
  W[num]=1
  a[num].each do |r|
    next if r == prev
    dfs(r, num,a)
    W[num] = W[num]*(W[r]+B[r])% 1000000007
    B[num] = B[num]*W[r]% 1000000007
  end
end

dfs(1,0,a)
p (W[1]+B[1])%1000000007

Submission Info

Submission Time
Task D - 塗り絵
User plat
Language Ruby (2.3.3)
Score 100
Code Size 554 Byte
Status AC
Exec Time 763 ms
Memory 22392 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 22
Set Name Test Cases
All 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt
Case Name Status Exec Time Memory
000.txt AC 17 ms 1788 KB
001.txt AC 18 ms 1788 KB
002.txt AC 561 ms 19324 KB
003.txt AC 714 ms 22264 KB
004.txt AC 469 ms 14712 KB
005.txt AC 697 ms 22392 KB
006.txt AC 684 ms 21240 KB
007.txt AC 692 ms 22264 KB
008.txt AC 513 ms 16820 KB
009.txt AC 720 ms 22196 KB
010.txt AC 502 ms 17532 KB
011.txt AC 733 ms 22140 KB
012.txt AC 401 ms 13564 KB
013.txt AC 715 ms 22328 KB
014.txt AC 331 ms 12028 KB
015.txt AC 719 ms 22328 KB
016.txt AC 441 ms 13820 KB
017.txt AC 763 ms 22264 KB
018.txt AC 135 ms 6012 KB
019.txt AC 760 ms 22328 KB
020.txt AC 84 ms 4092 KB
021.txt AC 690 ms 22328 KB