#P14226. [ICPC 2024 Kunming I] 冲向黄金城

[ICPC 2024 Kunming I] 冲向黄金城

题目描述

某个国家有 nn 座城市以及 mm 条连接城市的双向铁路。第 ii 条铁路由第 cic_i 家铁路公司运营,铁路的长度是 lil_i

您想要从城市 11 开始进行全国旅行。您已经为旅行购买了 kk 张车票。第 ii 张车票可以记为两个整数 aia_ibib_i,表示如果您使用了这张车票,就可以一次性经过若干条均由公司 aia_i 运营的,且总长度不超过 bib_i 的铁路。即使您使用了车票,也可以选择待在当前城市。您同时只能使用一张车票,且每张车票只能使用一次。

由于决定车票的使用顺序太麻烦了,您打算直接按现有的顺序使用车票。更正式地,您将执行 kk 次操作。在第 ii 次操作中,您可以选择待在当前的城市 uu;也可以选择一座不同的城市 vv,满足城市 uuvv 之间存在一条路径,且路径上的所有铁路均由公司 aia_i 运营,且铁路总长不超过 bib_i,然后移动到城市 vv

对于每座城市,判断在使用 kk 张车票之后能否到达该城市。

输入格式

有多组测试数据。第一行输入一个整数 TT 表示测试数据组数,对于每组测试数据:

第一行输入三个整数 nnmmkk2n5×1052 \le n \le 5 \times 10^51m5×1051 \le m \le 5 \times 10^51k5×1051 \le k \le 5 \times 10^5)表示城市的数量,铁路的数量以及车票的数量。

对于接下来 mm 行,第 ii 行输入四个整数 uiu_iviv_icic_ilil_i1ui,vin1 \le u_i, v_i \le nuiviu_i \ne v_i1cim1 \le c_i \le m1li1091 \le l_i \le 10^9),表示第 ii 条铁路连接了城市 uiu_iviv_i,该铁路由公司 cic_i 运营,且铁路长度为 lil_i。注意,可能有多条铁路连接同一对城市。

对于接下来 kk 行,第 ii 行输入两个整数 aia_ibib_i1aim1 \le a_i \le m1bi1091 \le b_i \le 10^9),表示如果您使用了第 ii 张车票,就可以一次性经过若干条均由公司 aia_i 运营的,且总长度不超过 bib_i 的铁路。

保证所有数据 nn 之和,mm 之和与 kk 之和均不超过 5×1055 \times 10^5

输出格式

每组数据输出一行一个长度为 nn 的字符串 s1s2sns_1s_2\cdots s_n,其中每个字符要么是 00,要么是 11。如果您可以用 kk 张车票从城市 11 到达城市 ii,则 si=1s_i = 1;否则 si=0s_i = 0

2
5 6 4
1 2 1 30
2 3 1 50
2 5 5 50
3 4 6 10
2 4 5 30
2 5 1 40
1 70
6 100
5 40
1 30
3 1 1
2 3 1 10
1 100
11011
100

提示

对于第一组样例数据:

  • 为了到达城市 44,您可以使用第 11 张车票从城市 11 移动到城市 22,然后在使用第 22 张车票的时候待在城市 22,然后使用第 33 张车票从城市 22 移动到城市 44,然后在使用第 44 张车票的时候待在城市 44
  • 为了到达城市 55,您可以使用第 11 张车票,经由第 11 条和第 66 条铁路从城市 11 移动到城市 55,然后在使用后续车票的时候待在城市 55
  • 由于您不能更改使用车票的顺序,您无法到达城市 33