去办公室问题  女士科克斯享有很好工作的兴趣,但她不喜欢浪费太多时间在going-to \ / coming-from办公室。现在她意识到她的路线,具有最小的距离,毕竟她已经在那里工作五年。 。
  可是由于最近的道路维修工程令她产生了困扰。每天都会有一条路需要维修而被阻塞,所以人们在这一天都不能走这条路(但是其他的路都是可以走的)。你作为她的新助理,当然需要帮她解决这个问题才行。你需要帮她确定出每天她从家里到办公室需要经过的最短路径。输入格式:
  这里有N个城市,编号从0到N-1。还有M条连通城市的道路,道路是双向的。
  第一行输入为两个整数N和M。
  接下来有M行,每行包含三个整数u,v 和w,表示有一条双向的道路连接城市u和城市v,其道路长度为w。数据保证任何两个城市之间最多只有一条道路相连,并且城市自身不会有自身到自身的道路。
  接下来一行为两个整数S和D,S表示卡欧西小姐居住的城市,D表示她的办公室位置所在的城市。
  接下来一行包含一个整数Q,表示有Q天。
  接下来有Q行,每行包含两个整数u和v ,表示这一天城市u到v的道路需要维修被阻塞。输出格式:
  输出Q行,每行包含一个整数,表示卡欧西小姐在该天从家里到办公室的最短路径距离。如果不能到达办公室,则输出"Infinity" (输出不包括双引号"")。限制条件:
  0 < N < 200,000
  0 < M < 200,000
  0 < Q < 200,000
  0 <= S , D < N样例输入:
6 9
0 1 1
1 2 1
2 3 1
3 4 1
4 5 1
2 4 5
3 5 8
1 3 3
0 2 4
  爱丽丝和鲍勃正在在玩一个游戏,规则如下:
  1) 他们选择了N元排列中某个排列作为游戏开始。
  2) 游戏采取轮流制,并且爱丽丝先开始。
  3) 在每一轮中,他们可以任意移除在排列中还未被移除的一个元素。
  4) 当排列中剩下的元素按照先后顺序组成递增序列时,游戏终止。 
  玩到最后一轮的人就是游戏的赢家(即该玩家移除一个元素后,剩下的元素就形成递增序列了) 。
  假设双方都采取最优的策略,那么谁能赢得游戏呢?输入格式:
  第一行为一个整数T,表示有T个测试案例。然后接下来有T个案例,每个案例的第一行包含一个整数N。第二行为N元排列的某个排列。输出格式:
  输出T行,每行对应一个测试结果,如果爱丽丝赢了就输出Alice,否则输出Bob。限制条件:
  1 <= T <= 100
  2 <= N <= 15
  数据保证一开始给出的N元排列不会是递增序列。样例输入:
2
3
1 3 2
5
5 3 2 1 4样例输出:
Alice
Bob 有n个变量和m的要求。要求被表示为(x<= y)时,这意味着第x变量必须小于或等于所述第y的变量。每一个变量分配小于10的非负数。请计算有多少种不同的分配相匹配的所有要求。两个分配是不同的,当且仅当所述至少一个变量被分配在这两个不同的数字分配。由1007模块的答案。同的。因为结果可能会很大,所以需要将结果对1007取模。输入格式:
  输入第一行包含两个整数 n 和 m
  接下来有m行,每行有两个整数x和y,表示一个要求 (x <= y)。
 
输出格式:
  输出一行,表示分配方案的个数。
 
限制条件:
  0 < n < 14
  0 < m < 200
  0 <= x, y < n
 
样例输入:
6 7
1 3
0 1
2 4
0 4
2 5
3 4
0 2
 
样例输出:
1000
平方字符串
  一个由两个相同的子串连接而成的字符串,我们称其为平方字符串。例如,“abab”,“aa”是平方字符串,而“aaa”,“abba”则不是。现在给你一个字符串,你知道该字符串中有多少个子串是平方字符串吗?其中对于字符串的子串,我们是这样定义的:从字符串中删除零个或者多个字符,然后将剩下的字符按照原先的顺序连接起来,形成的一个子串。输入格式:
  第一行为一个整数T,表示有T个测试案例。然后接下来有T个案例,每个案例包含一个字符串S。输出格式:
  输出T行,表示T个测试案例的结果。
  因为答案可能会很大,所以需要将答案对 1000000007 取模。限制条件:
  1 <= T <= 20
  字符串S的长度不超过200 样例输入:
3
aaa
abab
baaba样例输出:
3
3
6