Main » Entries archive

题目描述:
奶牛们在被划分成N行M列(2 <= N <= 100; 2 <= M <= 100)的草地上游走,试图找到整块草地中最美味的牧草。Farmer John在某个时刻看见贝茜在位置(R1, C1),恰好T (0 < T <= 15)秒后,FJ又在位置(R2, C2)与贝茜撞了正着。FJ并不知道在这T秒内贝茜是否曾经到过(R2, C2),他能确定的只是,现在贝茜在那里。
设S为奶牛在T秒内从(R1, C1)走到(R2, C2)所能选择的路径总数,FJ希望有一个程序来帮他计算这个值。每一秒内,奶牛会水平或垂直地移动1单位距离(奶牛总是在移动,不会在某秒内停在它上一 秒所在的点)。草地上的某些地方有树,自然,奶牛不能走到树所在的位置,也不会走出草地。
现在你拿到了一张整块草地的地形图,其中'.'表示平坦的草地,'*'表示挡路的树。你的任务是计算出,一头在T秒内从(R1, C1)移动到(R2, C2)的奶牛可能经过的路径有哪些。
程序名: ctravel
输入格式: ... Read more »

Views: 437 | Added by: dandan | Date: 2011-11-09 | Comments (0)

【问题描述】
若一个数(首位不为0)从左到右读与从右到左读都是一样,这个数就叫做回文数,例如12512就是一个回文数。
    给定一个N进制正整数,把它的各位数字上数字倒过来排列组成一个新数,然后与原数相加,如果是回文数则停止,如果不是,则重复这个操作,直到和为回文数为止。例如:10进制87则有:
STEP1: 87+78=165
STEP2: 165+561=726
STEP3: 726+627=1353
STEP4: 1353+3531=4884
   任务:写一个程序,给定一个N(2≤N≤10,N=16)进制数m(10~15用小写字母a~f表示),m的位数上限为20。求最少经过几步可以得到回文数。如果在30步以内(包括30步)不可能得到回文数,则输出"impossible”,否则输出该回文数及生成该回文数的最少步数。

【输入格式】
文件有两行,每行一个数,即N和N进制整数m ... Read more »

Views: 328 | Added by: dandan | Date: 2011-11-09 | Comments (0)

【题目描述】
政府邀请了你在火车站开饭店,但不允许同时在两个相连的火车站开。任意两个火车站有且只有一条路径,每个火车站最多有 50 个和它相连接的火车站。
告诉你每个火车站的利润,问你可以获得的最大利润为多少?
例如下图是火车站网络:

最佳投资方案是 1 , 2 , 5 , 6 这 4 个火车站开饭店可以获得的利润为 90.
【输入格式】
第一行输入整数 N(<=100000), 表示有 N 个火车站,分别用 1,2,……..,N 来编号。接下来 N 行,每行一个整数表示每个站点的利润,接下来 N-1 行描述火车站网络,每行两个整数,表示相连接的两个站点。 ... Read more »

Views: 517 | Added by: dandan | Date: 2011-11-09 | Comments (1)

【问题描述】
设 一个 n 个节点的二叉树 tree 的中序遍历为( l,2,3,…,n ),其中数字 1,2,3,…,n 为节点编号。每个节点都有一个分数(均为正整数),记第 j 个节点的分数为 di , tree 及它的每个子树都有一个加分,任一棵子树 subtree (也包含 tree 本身)的加分计算方法如下:
subtree 的左子树的加分 × subtree 的右子树的加分+ subtree 的根的分数若某个子树为空,规定其加分为 1 ,叶子的加分就是叶节点本身的分数。不考虑它的空子树。
试求一棵符合中序遍历为( 1,2,3,…,n )且加分最高的二叉树 tree 。要求输出;
( 1 ) tree 的最高加分
( 2 ) tree 的前序遍历
【输入格式】
... Read more »

Views: 351 | Added by: dandan | Date: 2011-11-08 | Comments (0)

【问题描述】
在平面上有n个点,一个点每过一个单位时间就会向4个方向(上下左右)扩散一个距离,如下图所示:


两个点a和b连通,记作e(a,b),当且仅当a、b的扩散区域有公共部分。连通块的定义是块内的任意两个点u、v都必定存在路径e(u,a0),e(a0,a1),……e(ak,v)。给定平面上n个点的坐标,问最早什么时刻它们形成一个连通块。
【输入文件】
第一行一个数:n
下面n行,每行两个整数x,y,代表一个点的坐标。
【输出文件】
一个整数,表示最早的时刻所有点形成的连通块。
【样例输入】
2
0 0
5 5
【样例输出】
... Read more »

Views: 330 | Added by: dandan | Date: 2011-11-08 | Comments (2)

题目描述:
译: PaulInsider

N(1 ≤ N ≤ 1000)个农场中的每个农场都有一只奶牛去参加位于第X个农场的聚会.共有M (1 ≤ M ≤ 100,000)条单向的道路,每条道路连接一对农场.通过道路i会花费Ti (1 ≤ Ti ≤ 100)的时间.
作为参加聚会的奶牛必须走到聚会的所在地(农场X).当聚会结束时,还要返回各自的农场.奶牛都是很懒的,她们想找出花费时间最少的路线.由于道路都是单向的,所有她们前往农场X的路线可能会不同于返程的路线.
Of all the cows, what is the longest amount of time a cow must spend walking to the party and back? 对于所有参加聚会的奶牛,找出前往聚会和返程花费总时间最多的奶牛,输出这只奶牛花费的总时间.

输入格式: ... Read more »

Views: 332 | Added by: dandan | Date: 2011-11-07 | Comments (1)

【问题描述】
有 N 个不同的正整数数 x 1 , x 2 , ... x N 排成一排,我们可以从左边或右边去掉连续的 i 个数(只能从两边删除数), 1<=i<=n ,剩下 N-i 个数,再把剩下的数按以上操作处理,直到所有的数都被删除为止。
每次操作都有一个操作价值,比如现在要删除从 i 位置到 k 位置上的所有的数。操作价值为 |x i – x k |*(k-i+1) ,如果只去掉一个数,操作价值为这个数的值。
任务
如何操作可以得到最大值,求操作的最大价值。
Input Data
输入文件 remove.in 的第一行为一个正整数 N ,第二行有 N 个用空格隔开的 N 个不同的正整数。
Ou ... Read more »

Views: 304 | Added by: dandan | Date: 2011-11-07 | Comments (0)

题目描述:
Farmer John以及他的N(1 <= N <= 2,500)头奶牛打算过一条河,但他们所有的渡河工具,仅仅是一个木筏。
由于奶牛不会划船,在整个渡河过程中,FJ必须始终在木筏上。在这个基础上,木筏上的奶牛数目每增加1,FJ把木筏划到对岸就得花更多的时间。
当FJ一个人坐在木筏上,他把木筏划到对岸需要M(1 <= M <= 1000)分钟。当木筏搭载的奶牛数目从i-1增加到i时,FJ得多花M_i(1 <= M_i <= 1000)分钟才能把木筏划过河(也就是说,船上有1头奶牛时,FJ得花M+M_1分钟渡河;船上有2头奶牛时,时间就变成M+M_1+M_2分钟。后面 的依此类推)。那么,FJ最少要花多少时间,才能把所有奶牛带到对岸呢?当然,这个时间得包括FJ一个人把木筏从对岸划回来接下一批的奶牛的时间。
程序名: cowriver
输入格式:
第1行: 2个用空格隔开的整数:N 和 M
第2..N+1行: 第i+1为1个整数:M_i
输入样例 (cowriver.in):
5 10
3
4
6
... Read more »

Views: 318 | Added by: dandan | Date: 2011-11-06 | Comments (0)

题目描述:


FJ的N(1 <= N <= 100)头奶牛们最近参加了场程序设计竞赛:)。在赛场上,奶牛们按1..N依次编号。每头奶牛的编程能力不尽相同,并且没有哪两头奶牛的水平不相上下,也就是说,奶牛们的编程能力有明确的排名。

整个比赛被分成了若干轮,每一轮是两头指定编号的奶牛的对决。如果编号为A的奶牛的编程能力强于编号为B的奶牛(1 <= A <= N; 1 <= B <= N; A != B),那么她们的对决中,编号为A的奶牛总是能胜出。

FJ想知道奶牛们编程能力的具体排名,于是他找来了奶牛们所有M(1 <= M <= 4,500)轮比赛的结果,希望你能根据这些信息,推断出尽可能多的奶牛的编程能力排名。比赛结果保证不会自相矛盾。
程序名: contest
输入格式:
第1行: 2个用空格隔开的整数:N 和 M
第2..M+1行: 每行为2个用空格隔开的整数A、B,描述了参加某一轮比赛的奶牛的编号,以及结果(编号为A,即为每行的第一个数的奶牛为胜者)
输入样例 (contest.in): ... Read more »
Views: 351 | Added by: dandan | Date: 2011-11-06 | Comments (0)

【题目描述】 

最近欢欢看到一本有关火星的书籍,其中她被一个加法运算所困惑,由于她的运算水平有限,她想向你求助,作为一位优秀的程序员,你当然不会拒绝。
输入文件(madition.in):
第一行先输入一个运算的进制N(2<=N<=36),接下来的两行为需要进行运算的字符,其中每个字符串的长度不超过200位.其为N进制的数。其中包括0-9及a-z(代表10-35).
输出文件(madition.out):
在N进制下它们的和.
 
输入样例1:
20
1234567890
abcdefghij
 
输出样例1:
bdfi02467j
 
输入样例2:
20 ... Read more »

Views: 425 | Added by: dandan | Date: 2011-11-06 | Comments (0)

« 1 2 3 »