敌人
【试题描述】
俗话说得好,敌人的敌人就是朋友。
现在有n个人,编号1至n,初始互不相识。接下来有m个操作,操作分为两种:
(1)检查x号和y号是否是朋友,若不是,则变成敌人
(2)询问x号的朋友有多少个
请你针对每个操作中的询问给出回答。
【输入要求】
第一行两个正整数n、m,表示人的数量和操作的数量。
接下来m行,依次描述输入。每行的第一个整数为1或2表示操作种类。对于操作(1),随后有两个正整数x,y。对于操作(2),随后一个正整数x。
【输出要求】
输出包含m行,对于操作(1),输入‘N‘或"Y",‘N‘表示x和y之前不是朋友,‘Y‘表示是朋友。对于操作(2),输出x的朋友数量。
【输入实例】
5 8 1 1 2 1 1 3 1 2 3 2 3 1 4 5 2 3 1 1 4 2 3
【输出实例】
N N Y 1 N 1 N 2
【其他说明】
n,m<=300000。
对于80%的数据,不包含操作2。
国际象棋
【试题描述】
给定一个n*n的棋盘,有一匹马放在左上角(1, 1)处,现在要让这匹马跳到(n, n)处。特别地,棋盘中有些位置有障碍,这些位置是不能经过的。问最少需要几步。
【输入要求】
第一行包含两个正整数n、m,表示棋盘大小和障碍数量。
随后m行,每行两个正整数,表示障碍的位置。
【输出要求】
仅一个正整数,表示最少的步数。
【输入实例】
3 1 2 2
【输出实例】
4
【其他说明】
n<=1000,m<=1000000。
地铁网络
【试题描述】
B市共有q条地铁线路,每条地铁都会经过一些站点。某些站点只被一条地铁线路经过,称作普通站,而某些站点被多条地铁经过,称作换乘站。
无论是普通站还是换乘站,都可以在二维地图上表示为一个点(x, y),即横、纵坐标。地铁在地下是走直线的,即一条线路中相邻两个站点的距离是两个站点的直线距离。
B市的地铁是按照距离收费的。地铁行驶的距离不超过2000(包含,下同),收3元;行驶距离超过2000但不超过4000,收4元;行驶距离超过4000但不超过6000,收5元,之后依此类推。
现在,你在地铁网路的某个站点,你希望知道你花恰好k元到达的站点有哪些。
【输入要求】
输入数据第一行包含一个正整数n,表示地铁站的数量。
随后n行,每行包含一个小写字母构成的字符串s和两个正整数x、y,分别表示地铁站的名称和横纵坐标。不会有重名的地铁站。
接下来包含q行,每行包含1个正整数m,表示这条地铁线路包含的地铁站数量。随后m个字符串,用空格隔开,依次表示这条地铁线路经过的地铁站名称。
最后一行包含一个正整数k和一个字符串s,表示希望花的钱数和你所在的地铁站。
【输出要求】
仅一行,用空格隔开的若干个字符串,依次表示可以花k元到达的地铁站名称。需要按照字典序输出。
【输入实例】
5 xizhimen 10000 10000 dongwuyuan 0 10000 pinganli 10000 0 dazhongsi 10000 20000 wudaokou 10000 30000 2 3 xizhimen dazhongsi wudaokou 3 dongwuyuan xizhimen pinganli 7 xizhimen
【输出实例】
dazhongsi dongwuyuan pinganli
【其他说明】
q,m<=500, n<=q*m, |s|<=15, k<=3000, 0<=x, y<=100000
数据保证从任何两个地铁站是可以互达的。
思考题:传送门
【试题描述】
现有一个n行m列的模板矩阵,左上角称作第0行第0列,右下角称作第n-1行第m-1列。每个位置可能是障碍‘#‘,空地‘.‘或传送门‘T‘。每行只会有0个或2个传送门,若为两个传送门,则可以通过1个单位时间从其中一个到达另一个。非障碍可以通往相邻的非障碍(四连通),移动1步需要花费1个单位时间。
然而,实际空间是一个无限行m列的矩阵,实际空间中的第i行与模板矩阵中的第i%n行是相同的。现在,询问你实际空间中第X1行Y1列到第X2行第Y2列最少需要花费多少个单位时间。
【输入要求】
输入前n行每行包含m个字符用来描述模板矩阵。
随后包含4个整数X1, Y1, X2, Y2描述起点和终点。
【输出要求】
只一行,一个数,表示至少需要多少个单位时间。
【输入实例】
##.#. .#T#T ...#. ##.#. 7 4 1 0
【输出实例】
9
【其他说明】
n, m, Y1, Y2<=20,
|X1|, |X2| <= 10^15。
-------------------------------------------------------------------------------------------------------------------------
为大家提供了所有的测试数据,可以供大家来查看代码,将数据的txt文档用dev c++打开才可以看到全部内容。
链接: https://pan.baidu.com/s/1o7HYrZc
密码: ma2z
欢迎大家下载