Submission #1294543


Source Code Expand

#include <iostream>
#include <vector>
#define MOD 1000000007
using namespace std;

vector<int> G[100000];
int dp[100000][2];

int dfs(int v,int prev,int pcolor){
	if(dp[v][pcolor] != -1) return dp[v][pcolor];
	int white = 1,black = 1;
	for(int i = 0;i < G[v].size();i++){
		int to = G[v][i];
		if(to == prev) continue;
		white = white * dfs(to,v,0) % MOD;
		if(!pcolor) black = black * dfs(to,v,1) % MOD;
	}
	if(pcolor) black = 0;
	return dp[v][pcolor] = (white + black) % MOD;
}

int main(){
	int n;
	cin >> n;
	for(int i = 0;i < n;i++){
		dp[i][0] = -1;
		dp[i][1] = -1;
	}
	for(int i = 0;i < n - 1;i++){
		int a,b;
		cin >> a >> b; a--; b--;
		G[a].push_back(b);
		G[b].push_back(a);
	}
	cout << dfs(0,-1,0) << endl;
	return 0;
}

Submission Info

Submission Time
Task D - 塗り絵
User hoget157
Language C++14 (GCC 5.4.1)
Score 0
Code Size 768 Byte
Status WA
Exec Time 106 ms
Memory 6656 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 2
WA × 20
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 2 ms 2560 KB
001.txt AC 2 ms 2560 KB
002.txt WA 77 ms 5760 KB
003.txt WA 99 ms 6528 KB
004.txt WA 64 ms 5248 KB
005.txt WA 97 ms 6528 KB
006.txt WA 90 ms 6272 KB
007.txt WA 98 ms 6656 KB
008.txt WA 68 ms 5376 KB
009.txt WA 106 ms 6528 KB
010.txt WA 68 ms 5504 KB
011.txt WA 98 ms 6528 KB
012.txt WA 55 ms 4992 KB
013.txt WA 98 ms 6528 KB
014.txt WA 44 ms 4480 KB
015.txt WA 97 ms 6528 KB
016.txt WA 61 ms 4992 KB
017.txt WA 98 ms 6528 KB
018.txt WA 18 ms 3328 KB
019.txt WA 96 ms 6528 KB
020.txt WA 10 ms 2944 KB
021.txt WA 97 ms 6528 KB