摘要: Description给出N个长度不超过5000的只含数字的字符串,你需要回答M次形如i j的询问,对于每次询问用一行输出一个整数表示第i个字符串和第j个字符的最长公共前缀的长度。比如两个字符串分别为201212和201112,"2"、"20"和"201"都是它们的公共前缀,但最长的公共前缀是"201",于是就应当输出3。Input输入包含多组测试数据。每组数据的第一行为一个整数N(1<=N<=1000),表示一共有N个字符串。接下来一共有N行,每行均有一个长度不超过 5000的只含数字的字符串,这N行 阅读全文
posted @ 2012-07-18 17:13 BeatLJ 阅读(228) 评论(0) 推荐(0) 编辑
摘要: Description有三个无刻度标志的水杯,分别可装 a ,b , c升水,并且a>b , a>c , a,b,c,均为正整数。任意两个水杯之间可以相互倒水。用杯子x给y倒水的时必须一直持续到把杯子y倒满或者把杯子x倒空,而不能中途停止。倒水过程中水量不变。最初的时候只有大杯子装满水,其他两个杯子为空。问能不能量出x升水,如果可以,最少需要多少步?Input输入有多组数据。每组数据为一行,有4个正整数a,b,c,x且满足:a>b,a>c,a>x,a,b,c,x <= 1000。Output输出一个整数。如果可以量出x升水,输出需要的最少步骤,否则,输出-1 阅读全文
posted @ 2012-07-18 17:03 BeatLJ 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 这题是ZOJ 1008那题。给你n*n个方块,每个方块被对角线划分为4部分,每一部分里面有一个数字,问能否将方块拼成一个边长为n的大方块,使得相邻方块的相邻数字相同。用dfs搜索,需要剪枝,同一层中相同方块只搜索一次。View Code #include <stdio.h>#include <string.h>#define N 26#define T 0#define R 1#define B 2#define L 3int x[N][4],top;int n,id[N],num[N];bool success;int Left(int k){ if(k%n==0) 阅读全文
posted @ 2012-07-18 17:00 BeatLJ 阅读(179) 评论(0) 推荐(0) 编辑
摘要: DescriptionYou are in the world of mathematics to solve the great "Monkey Banana Problem". It states that, a monkey enters into a diamond shaped two dimensional array and can jump in any of the adjacent cellsdown from its current position (see figure). While moving from one cell to another 阅读全文
posted @ 2012-07-18 16:54 BeatLJ 阅读(157) 评论(0) 推荐(0) 编辑