Submission #1461528


Source Code Expand

// This amazing code is by Eric Sunli Chen.
#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <iomanip>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <string>
#include <utility>
#include <vector>
using namespace std;
template<typename T> void get_int(T &x)
{
	char t=getchar();
	bool neg=false;
	x=0;
	for(; (t>'9'||t<'0')&&t!='-'; t=getchar());
	if(t=='-')neg=true,t=getchar();
	for(; t<='9'&&t>='0'; t=getchar())x=x*10+t-'0';
	if(neg)x=-x;
}
template<typename T> void print_int(T x)
{
	if(x<0)putchar('-'),x=-x;
	short a[20]= {},sz=0;
	while(x>0)a[sz++]=x%10,x/=10;
	if(sz==0)putchar('0');
	for(int i=sz-1; i>=0; i--)putchar('0'+a[i]);
}
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
#define get1(a) get_int(a)
#define get2(a,b) get1(a),get1(b)
#define get3(a,b,c) get1(a),get2(b,c)
#define printendl(a) print_int(a),puts("")
typedef long long LL;
typedef unsigned long long uLL;
typedef pair<int,int> pii;
const int inf=0x3f3f3f3f;
const LL Linf=1ll<<61;
const double pi=acos(-1.0);

vector<int> g[100111];
bool done[100111][14];
int n,m,q,d[100111],v[100111],c[100111],mk[100111],dist[100111],ans[100111],que[100111],cur[100111];

int main()
{
	get2(n,m);
	for(int i=1,u,vv;i<=m;i++)
	{
		get2(u,vv);
		g[u].pb(vv);
		g[vv].pb(u);
	}
	get1(q);
	for(int i=1;i<=q;i++)get3(v[i],d[i],c[i]);
	
	memset(cur,-1,sizeof(cur));
	for(int i=q;i>=1;i--)
	{
		int&u=v[i],rr=1;mk[u]=i;dist[u]=d[i];que[0]=u;
		for(int fr=0,v;fr<rr;fr++)
		{
			v=que[fr];
			if(cur[v]>=dist[v])continue;
			cur[v]=dist[v];
			if(ans[v]==0)ans[v]=c[i];
			if(dist[v]==0)continue;
			
			for(int j=0;j<(int)g[v].size();j++)
				if(mk[g[v][j]]!=i)
				{
					mk[g[v][j]]=i;
					dist[g[v][j]]=dist[v]-1;
					que[rr++]=g[v][j];
				}
		}
	}
	for(int i=1;i<=n;i++)printendl(ans[i]);
	return 0;
}

Submission Info

Submission Time
Task B - Splatter Painting
User OhWeOnFire
Language C++14 (GCC 5.4.1)
Score 700
Code Size 2002 Byte
Status AC
Exec Time 66 ms
Memory 11000 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 200 / 200 500 / 500
Status
AC × 2
AC × 19
AC × 35
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt
Subtask1 00_example_01.txt, 00_example_02.txt, 10_01.txt, 10_02.txt, 10_03.txt, 10_04.txt, 10_05.txt, 10_06.txt, 10_07.txt, 10_08.txt, 10_09.txt, 10_10.txt, 10_11.txt, 10_12.txt, 10_13.txt, 10_14.txt, 10_15.txt, 10_16.txt, 10_17.txt
All 00_example_01.txt, 00_example_02.txt, 10_01.txt, 10_02.txt, 10_03.txt, 10_04.txt, 10_05.txt, 10_06.txt, 10_07.txt, 10_08.txt, 10_09.txt, 10_10.txt, 10_11.txt, 10_12.txt, 10_13.txt, 10_14.txt, 10_15.txt, 10_16.txt, 10_17.txt, 20_01.txt, 20_02.txt, 20_03.txt, 20_04.txt, 20_05.txt, 20_06.txt, 20_07.txt, 20_08.txt, 20_09.txt, 20_10.txt, 20_11.txt, 20_12.txt, 20_13.txt, 20_14.txt, 20_15.txt, 20_16.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 2 ms 5504 KB
00_example_02.txt AC 3 ms 5504 KB
10_01.txt AC 2 ms 5504 KB
10_02.txt AC 3 ms 5504 KB
10_03.txt AC 3 ms 5504 KB
10_04.txt AC 2 ms 5504 KB
10_05.txt AC 3 ms 5504 KB
10_06.txt AC 2 ms 5504 KB
10_07.txt AC 3 ms 5504 KB
10_08.txt AC 3 ms 5504 KB
10_09.txt AC 3 ms 5504 KB
10_10.txt AC 3 ms 5504 KB
10_11.txt AC 3 ms 5504 KB
10_12.txt AC 3 ms 5504 KB
10_13.txt AC 3 ms 5504 KB
10_14.txt AC 3 ms 5504 KB
10_15.txt AC 3 ms 5504 KB
10_16.txt AC 3 ms 5504 KB
10_17.txt AC 3 ms 5504 KB
20_01.txt AC 66 ms 9856 KB
20_02.txt AC 65 ms 9856 KB
20_03.txt AC 66 ms 9856 KB
20_04.txt AC 11 ms 6272 KB
20_05.txt AC 3 ms 5504 KB
20_06.txt AC 6 ms 6784 KB
20_07.txt AC 3 ms 5504 KB
20_08.txt AC 10 ms 5632 KB
20_09.txt AC 3 ms 5504 KB
20_10.txt AC 10 ms 5504 KB
20_11.txt AC 12 ms 5632 KB
20_12.txt AC 32 ms 9728 KB
20_13.txt AC 48 ms 9984 KB
20_14.txt AC 50 ms 9856 KB
20_15.txt AC 41 ms 10744 KB
20_16.txt AC 46 ms 11000 KB