답안 #139526

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
139526 2019-07-31T23:42:49 Z Mahmoud_Adel Amusement Park (JOI17_amusement_park) C++14
0 / 100
37 ms 5960 KB
#include <bits/stdc++.h>
#include "Joi.h"
#define f first
#define s second
using namespace std;
typedef long long ll;
const int jZ = 1e4+5;
vector<ll> jadj[jZ], jG[jZ];
ll jdisc[jZ], jt[jZ], jcn, n, jrqm, jC = 60;
void jDFS(ll u, ll p)
{
	jdisc[u] = jcn;
	jt[jcn] = u;
	MessageBoard(u, (jrqm>>(jcn%jC))&1);
	//cout << u << " " << jadj[u].size() << endl;
	jcn++;
	for(int v : jadj[u])
	{
		//cout << v << " " << jdisc[v] << endl;
		if(v == p || jdisc[v] != -1) continue;
		jDFS(v, u);
	}
	if(p != -1) jG[u].push_back(p), jG[p].push_back(u);
}
void Joi(int N, int M, int A[], int B[], long long X, int T) 
{
	memset(jdisc, -1, sizeof jdisc);
	n = N, jrqm = X;
	for(int i=0; i<M; i++)
	{
		jadj[A[i]].push_back(B[i]), jadj[B[i]].push_back(A[i]);
	}
	jDFS(0, -1);
}
#include <bits/stdc++.h>
#include "Ioi.h"
using namespace std;
typedef long long ll;
const int Z = 1e4+5;
vector<ll> adj[Z], G[Z];
ll disc[Z], t[Z], cn, n, f, cur, C = 60, rqm, msg[Z], sub[Z], par[Z];
void DFS(ll u, ll p)
{
	disc[u] = cn;
	t[cn] = u;
	cn++;
	sub[u] = 1;
	for(ll v : adj[u])
	{
		if(v == p || disc[v] != -1) continue;
		DFS(v, u), sub[u] += sub[v];
	}
	if(p != -1) G[u].push_back(p), G[p].push_back(u);
}
void dfs(ll u, ll p)
{
	if(!C) return ;
	if(u == cur) f = 1;
	for(ll v : G[u])
	{
		if(v == p) continue;
		if(f) msg[v] = Move(v);
		dfs(v, u);
	}
	if(p != -1) msg[p] = Move(p);
	C--;
}
long long Ioi(int N, int M, int A[], int B[], int P, int V, int T) 
{
	memset(disc, -1, sizeof disc);
	memset(msg, -1, sizeof msg);
	n = N, cur = P, msg[cur] = V;
	for(int i=0; i<M; i++)
		adj[A[i]].push_back(B[i]), adj[B[i]].push_back(A[i]);

	DFS(0, -1);
//	for(int i=0; i<n; i++)
//	{
//		for(int v : G[i]) cout << v << " ";
//		cout << endl;
//	}
	dfs(0, -1);
	ll ret = 0;
	C = 60;
	for(int i=0; i<n; i++)
	{
		if(msg[i] == -1) continue;
		int bit = i%C;
		ret |= ((1<<bit)*msg[i]);
	}
	return ret;
		
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 2040 KB Wrong Answer [7]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 36 ms 5952 KB Wrong Answer [7]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 2040 KB Wrong Answer [7]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 37 ms 5952 KB Wrong Answer [7]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 36 ms 5960 KB Wrong Answer [7]
2 Halted 0 ms 0 KB -