小 m 的星系中有
后来,五维生物为人们建立了空间翘曲轨道。穿越轨道的人会感觉自己瞬间便到达了目的地,但对于外界来说,时间已经发生了巨大的变化,可能过去了几千年,也可能倒退几千年。
形式化地讲,可以用3个数描述一条轨道:
有了轨道以后,人们便可以实现到其他星球的短期旅行,但同时也催生了新的需求:希望在特定时间到达某个星球,以看到特定的人或看到特定的历史事件。为了达到这一需求,人们可以经过任意多条轨道,在穿越多个星球以后到达目的地。
形式化地讲,可以用3个数描述一条需求:
现在的问题是,给出轨道的建立过程和过程中所有的需求,问每条需求是否能得到满足。
具体地,你将依次得到
输入输出格式
你可以不用理会后面提到的输入输出文件的真实格式,仅用这里提到的方法进行输入输出。
首先将 maze_io.cpp
中的代码粘贴到你的代码的最开头。
你的程序首先需要调用 maze_io::get_args(&n, &m, &k, &t);
获取4个参数。其中 int
类型。
接下来需要调用 maze_io::get_line(&p, &u, &v, &w);
获取4个参数。其中 int
类型,long long
类型。
对于每条需求,你需要调用一次 maze_io::put_ans(ans);
来输出一次答案。其中 int
类型,值为
若
将所有轨道视为无向边。若
由于输出为传入的参数 maze_sample.cpp
输出样例实际的操作(会从 maze.in
和 maze.ans
读入,输出到 maze.h.in
),输出格式为:第一行包含四个整数
如果你希望自己构造测试的输入数据,那么格式为:第一行包含四个整数
样例一
input
5 20 3 3 0 5 2 8 737023109 467551616 0 1 3 -11 610666965 103793774 1 5 2 10 801050508 81540882 0 4 4 -9 432795277 577469097 0 4 1 17 167617173 189172213 0 1 4 -20 1005183139 269123299 1 4 3 -3 305267432 348822094 1 3 5 17 957086530 565704649 0 5 5 -13 580644467 252604773 0 3 5 9 262777226 184032246 1 2 1 14 438439996 597179973 0 1 4 7 489012768 974964269 1 5 1 2 660680201 894637208 1 2 2 2 682205686 450663892 1 3 5 8 181963596 230165952 0 5 2 16 673556059 931780532 0 5 4 -3 507063636 1066313785 1 5 2 -10 493798980 249901807 1 3 3 8 248671409 626524461 1 3 2 -8 159081180 345560641
output
0 1 1 1 0 1 1 1 1 1
explanation
对于第
对于第
对于第
对于第
限制与约定
对于所有的数据,最终获取到的所有数都是整数,且满足
各测试点满足下列限制:
测试点 | |||||
---|---|---|---|---|---|
1 | |||||
2 | |||||
3 | |||||
4 | |||||
5 | |||||
6 | |||||
7 | |||||
8 | |||||
9 | |||||
10 | |||||
11 | |||||
12 | |||||
13 | |||||
14 | |||||
15 | |||||
16 | |||||
17 | |||||
18 | |||||
19 | |||||
20 |
时间限制:
空间限制:
输入输出文件的补充说明
不用理解这段话也可以完成这道题目。
实际的输入输出文件是对输入添加了简单的防离线处理得到的,你可以通过阅读 maze_io.cpp
中的代码得到这个处理方法。你完全可以不使用这段代码进行输入输出,而使用自己的方法(例如你想要使用更快速的输入输出方法或你希望利用防离线处理的漏洞)。我们保证最终数据的格式和样例的格式是相同的,不会有反“反防离线”的处理。
具体地,各参数(指代码中 scanf
读入的各数)的数据规模为: