输出格式:对于每个询问,给出一个整数,表示大于这个海啸高度的梯田数量。
输入样例:
2
2 2 2
1 2
3 4
2
3
2 3 3
1 2 3
3 4 5
0
4
5
输出样例:
2
1
6
1
0
E. 转啊转
Time Limit: 1000 MS Memory Limit: 65536 KB
题目描述:
在二维平面上,有一个固定的圆和一个固定的点(保证该点不在圆上),还有一个动点在圆上以角速度w绕圆心一直转。在t时刻,连接该动点与定点成一条直线k,求直线k被圆所截线段的长度(即直线k在圆内部分长度)。
动点初始时刻在圆的三点钟方向(即与x轴正方向平行),并以逆时针方向绕圆转。
输入描述:
先输入一个整数T,表示T(T<50)组数据。
每组数据一行七个实数a,b,r(r>0),x,y,w(w>=0),t(t>=0) 分别表示圆的圆心坐标(a,b),半径r,固定点坐标(x,y),角速度w,要查询的时刻t。
上述所有数据的绝对值小于10000。
输出描述:
输出答案占一行,保留2位小数。
输入样例:
1
1 1 1 3 1 3 0
输出样例:
2.00
角速度定义:
一个以弧度为单位的圆(一个圆周为2π,即:360度=2π),在单位时间内所走的弧度即为角速度。
F. 吃在工大
Time Limit: 1000 MS Memory Limit: 65536 KB
题目描述:
JH和他的好朋友YZ两名程序员回访母校合工大,准备在这住一段日子,都说“玩在安大,吃在工大”,JH又是一名典型吃货,于是决定在工大食堂好好吃一段日子,但是,面对美食诱惑:黄焖鸡、风暴干锅、麻辣香锅、奥尔良烤翅…由于时间有限,JH不知道哪顿饭吃哪个菜好。
于是YZ为了帮助他解决这个问题,也顺便考考他,给他出了一个问题:“黄焖鸡必须在干锅花菜前面吃,干锅牛肉必须在干锅鱿鱼前面吃….你按这个要求下,就知道吃的顺序啦”。JH抓抓头,分分钟写了个程序搞定,现在,让你来写写看?输出一组JH符合条件下吃的食物的序列。
假设JH每顿只吃一种食物,且每顿吃的都不同,食物编号1到N。
输入描述:
先输入一个整数T,表示T(T<20)组数据。
每组数据第一行输出一个整数,N,M,分别表示有N(N<=1000)种食物,总共有M(M<5000)个约束条件,接下来M行每行输入两个正整数a,b(n>=a>0,n>=b>0),表示食物a必须在食物b之前吃。
输出描述:
各组数据输出答案占一行,输出一组符合条件的序列(要求输出字典序最大的那一组),如果答案不存在,输出“-1”。
输入样例:
1
4 3
1 2
2 3
4 3
输出样例:
4 1 2 3
G. 木条染色
Time Limit: 1000 MS Memory Limit: 65536 KB
题目描述:
小明是一个非常浪漫的画家,他喜欢画各种奇奇怪怪的画,虽然没人理解他画的究竟是什么东西。
有一天,他突发奇想,对于一根木条,他每次从木条中选取一个区间[l,r]进行染色,多次染色之后,他想知道在[a,b]区间中有几个未被染色的子区间?
可惜小明虽然画画非常厉害,但是并不擅长解决这类问题,于是,他拿着这根木条来找你,希望你能够给他帮助。
假设木条无限长,所有查询都在木条长度范围内,未被染色的子区间是指,木条上染过色的区间的间断部分。
输入格式:
第一行一个整数T,代表数据组数。
对于每组数据,第一行给出两个整数n,q,分别代表染色的区间个数,以及查询个数。
之后n行,每行两个整数l,r,表示将l到r的区间进行染色,包含l,r两个节点。
之后q行,每行两个整数a,b,表示询问a到b总共有多少未被染色的子区间。
两组数据之间用一个空行隔开。
T<20
n<10000
q<100000
0<=l0<=a<=b<1000000输出格式:
对于每次询问,输出一个整数,表示查询结果。
每组数据之后,请输出一个空行。
输入样例:
2
2 3
1 2
3 4
1 3
3 4
5 5
3 3
1 5
2 8
5 6
0 5
0 9
9 9
输出样例:
1
0
1
1
2
1
样例解释:
对于第一组数据,[0,1),(2,3),(4,+)是未染色的子区间,因此查询[1,3]可以找到(2,3)这个子区间,而对于[3,4]不能找到,对于[5,5]可以找到[5,5]。
对于第二组数据,[0,1)和(8,+)是未染色的子区间,因此对于[0,5]只有子区间[0,1),对于查询[0,9],有子区间[0,1)和(8,9],对于查询[9,9],有[9,9]这个子区间。
H. 单身晚会
Time Limit: 1000 MS Memory Limit: 65536 KB
题目描述:
ZJ和ZCX在一起很久了,两个人都互生爱意,最终决定喜结良缘,从此踏入浪漫的婚姻殿堂。
但是,ZJ的好基友们想到以后ZJ就不能经常跟他们一起愉快的玩耍了,都觉得非常伤心难过,于是他们决定在最后一晚为ZJ开一场单身晚会,玩整晚紧张刺激的飞行棋。
ZJ的好基友居住在城市的各个地方(每个地方不一定只有一个基友),他们需要从各个地方赶到其中一个朋友的家里来参加这最后的单身PARTY,ZJ被基友们的热情深深感动了,决定对基友们来时的路费进行报销。报销规则按照距离来计算。基友们为了帮ZJ省钱,决定在所有人走最短路径的情况下,总距离最小的人的家里开PARTY。
ZJ想知道基友们走过的总距离是多少,然后他把总共需要报销的钱拿出来,就可以让基友们自己来分配了。但是他算了半天也没算出来总距离是多少,单身PARTY马上就开始了,你能帮帮他吗?
输入格式:
第一行一个整数T,表示有T(T<15)组数据
每组数据的第一行基友数(包括ZJ)N(N<100),路口P(2<=P<=100),路口之间道路数C(1<=C<=1450),(基友的编号为1…N,路口的编号为1…P)
第二行到第N+1行:编号为1到N的基友们家所在的路口号。
第N+2行到N+C+1行:每行有三个数:相连的路口A,B,路口间间距D(1<=D<=255),当然,连接是双向的。
输出格式:
每组数据输出占一行,输出大家必须要走的最小距离和
样例输入:
1
3 4 5
2
3
4
1 2 1
1 3 5
2 3 7
2 4 3
3 4 5
样例输出:
8
I. 恶魔A+B
Time Limit: 1000 MS Memory Limit: 65536 KB
题目描述:
相信大家都做过A+B问题,这个问题简直太简单了,以至于所有的程序员都会做这个题目。
有一天,萌萌哒YZK学姐写了很久很久的代码,以至于在半睡半醒状态看到了恶魔。
恶魔说:愚蠢的程序员啊,不要再做无谓的挣扎了,你再怎么写代码,也改变不了这个世界终将被我统治的结局。
YZK学姐顿时觉得自己被侵犯了,为了程序员的尊严,她要求与恶魔进行决斗,决斗的形式就是写代码。
恶魔给出了一个非常复杂的A+B问题,对于两个长度小于1000的26进制数,它们
相加的结果是什么呢?
两人谁先解决这个问题谁就获胜,你能帮助YZK学姐战胜恶魔吗?
输入格式:
第一行一个整数T,代表测试数据组数,0之后T行,每行两个长度不大于1000的字符串,仅包含a~z和小数点,a~z分别代表数字0~25。输出格式:
输出占一行,输出相加的结果,不能包含前导零和后导零(即a)。
输入样例:
3
b b
bb ac
a.b a.b
输出样例
c
bd
a.c
J. YZK的大别墅
Time Limit: 1000 MS Memory Limit: 65536 KB
题目描述:
土豪YZK最近得到了面积为n*m的一大块土地(高兴ING^_^),他想在这块土地上建造一所别墅,但是这个别墅必须是方形的。
可是,这块土地并非十全十美,上面有很多不平坦的地方(也可以叫瑕疵)。这些瑕疵十分恶心,以至于根本不能在上面盖一砖一瓦。但是却可以挖成人工观赏湖,或者挖成游泳池。
YZK希望找到一块最大的矩形土地来盖别墅,YZK计划在里面盖一些房子并且挖一些人工湖,但是YZK最多只愿意造k个人工湖(一个人工湖的占地面积为1,即使是相连的两块地方都是人工湖,也要算作两块人工湖),现在请你来帮助YZK找到面积最大的满足条件的土地。
给定一个01矩阵,0表示土地可用,1表示土地不可用,输出符合YZK要求的最大土地的面积。
输入格式:
第一行一个整数T,表示有T组测试数据。
对于每组测试数据,第一行包含三个整数n,m,k,表示矩阵的行数和列数,以及最多的人工湖数量。
之后n行,每行m个整数,表示矩阵。
T<25
0输出格式:对于每组数据输出一行占一行,包含一个整数,表示最大面积。
输入样例:
2
2 2 0
1 0
0 1
3 3 1
1 0 0
0 0 1
0 0 1
输出样例:
1
6
K. 纸上谈兵
Time Limit: 1000 MS Memory Limit: 65536 KB
题目描述:
战国时期,孙膑与庞涓都拜在鬼谷子门下学习。有一日鬼谷子想考察他们兵法,对着墙上挂着的一幅当时城池地图(假设城池编号从1到N,相邻城池之间有边相连),让他们自己相互考察:
庞涓出题:“如果我给出一组城池间相互约束的关系,你能否给我一个攻城方案,…….”
孙膑出题:“如果从1号城池出发,到达N号城池,请问最多有几条最近的路?我对不同的最近的路有两种定义,第一种:‘如果两条路径有一条边不相同,就认为这两条路径不同’,第二种‘如果两条路径有一条边相同,就认为相同’,请告诉我在这两种不同定义下,各自答案是多少”
由于地图很大,图上大大小小的城池很多,两人对着图一时有点迷糊,这就很尴尬了!
据说当时缓解这尴尬局面的一位来自未来的神奇少年,背地里相互告诉他们各自的答案,这人莫非就是你?
输入描述:
先输入一个整数T,表示T(T<20)组数据。
每组第一行三个正整数N,M,K(500>N>0,10000>M>0,50000>K>0),表示表示有N个城池,M条边,K组约束关系。
接下里M行,每行3个正整数a,b,w(N>=a,b>=1,1000000>w>0),表示a,b之间有条边,长度为w。
接下来K行,每行有下面几种形式:
1 a b :表示如果攻打城池a,则必须攻打城池b。
2 a b :表示城池a,b至少攻打一个。
3 a b :表示如果城池a攻打了,则城池b不能攻打。
4 a b :表示如果城池a没有攻打,则城池b必须攻打。
5 a b :表示城池a与城池b只能都攻打或者都不攻打。
(N>=a,b>=1)
输出描述:
每组数据输出占三行:
第一行输出孙膑给的方案,N个数,如果城池i攻打,输出1,反之输出0,这N个数构成的01序列代表一个方案。如果不存在方案,输出“impossible.”
第二行输出庞涓的第一个解,输出按第一种定义下的最短路;第三行输出庞涓的第二个解,输出按第二种定义下的最短路。如果不存在最短路,输出“-1”
输入样例:
2
5 6 5
1 2 3
2 4 4
4 5 1
1 3 5
3 4 2
3 5 3
1 1 2
1 2 1
2 1 2
3 1 4
4 3 5
3 3 5
1 2 10
2 3 10
1 3 20
1 1 2
1 2 1
2 1 2
3 1 3
1 2 3
输出样例:
1 1 0 0 1
3
2
impossible.
2
2
提示:
第一组样例中:孙膑的答案表示 攻打1 2 5,不攻打3 4。庞涓的第一个解:1->2->4->5, 1->3->4->5, 1->3->5。第二个解:1->2->4->5, 1->3->5