2013年12月12日

象棋比赛

摘要: 象棋比赛chess.pas【问题描述】有N个人要参加国际象棋比赛,该比赛要进行K场对弈。每个人最多参加两场对弈,最少参加零场对弈。每个人都有一个与其他人都不相同的等级(用一个正整数来表示)。在对弈中,等级高的人必须用黑色的棋子,等级低的人必须用白色的棋子。每个人最多只能用一次黑色的棋子和一次白色的棋子。为了增加比赛的客观度,观众希望K场对弈中双方的等级差的总和最小。比如有7个选手,他们的等级分别是 30,1 7,26,41,19,38,18,要进行3场比赛。最好的安排是Player 2 vs Player 7,Player7 vs Player 5,Player 6 vs P1ayer 4,此 阅读全文

posted @ 2013-12-12 22:22 生活不变心在变 阅读(404) 评论(0) 推荐(0)

排座椅

摘要: 排座椅seats.pas【问题描述】上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳。同学们在教室中坐成了M行N列,坐在第i行第j列的同学的位置是(i,j),为了方便同学们进出,在教室中设置了K条横向的通道,L条纵向的通道。于是,聪明的小雪想到了一个办法,或许可以减少上课时学生交头接耳的问题:她打算重新摆放桌椅,改变同学们桌椅间通道的位置,因为如果一条通道隔开了两个会交头接耳的同学,那么他们就不会交头接耳了。请你帮忙给小雪编写一个程序,给出最好的通道划分方案。在 阅读全文

posted @ 2013-12-12 22:21 生活不变心在变 阅读(302) 评论(0) 推荐(0)

士兵排队

摘要: 士兵排队soldier.pas【问题描述】在XXX国家,有N个处于不同位置的士兵。该国上的地方都用两个坐标(X,Y)来表示。士兵能进行一次移动,每个士兵都可向上、向下、向左、或向右移动一个单位长,这样他就能把自己的X或Y改变1或-1。士兵们想进入一个水平线,彼此靠近,这样他们的最后位置就是(X,Y)、(X+1,Y)、…、(X+N,Y)。水平线上的士兵的最后顺序以及整数X和Y,都是任意的。现在目标是求如此配置士兵的最少移动数。两个或两个以上的士兵在同一时间不处于同一位置。【输入格式】soldier.in输入文件的第一行含有一个整数N,1 <= N <=10000,N为士兵的数量。输入 阅读全文

posted @ 2013-12-12 22:12 生活不变心在变 阅读(373) 评论(0) 推荐(0)

水王争霸

摘要: 水王争霸bbs.pas【问题描述】众所周知,论坛上有很多水王,他们的发贴数是如此之多,以至于必须要用高精度数才能保存。为了迎接国庆,论坛决定举行一次水王争霸赛,比赛的规则是将这些水王截止到20013年11月22日23时59分59秒这一刻所发的总贴数从大到小进行排序。每个水王当然都想取得尽量靠前的名次,所以他们竭尽全力,不择手段地进行灌水。终于,激动人心的一刻到来了,20013年11月23日0时0分0秒,你作为裁判得到了每个水王的发贴数,现在,你的任务是公正地把这些水王按照发贴数从大到小进行排序。【输入格式】bbs.in输入的第一行是一个1到1000的整数N,表示总共有N位水王参加了争霸赛。以下 阅读全文

posted @ 2013-12-12 22:11 生活不变心在变 阅读(674) 评论(0) 推荐(0)

黄金分割

摘要: 黄金分割(gold.pas)【问题描述】两个数之比越接近黄金分割比例,就越完美。现在给你N个数,请挑出一对最完美的数。【输入文件】gold.in第一行,一个数n表示数的个数;(2<=n<=106)第二行,共n个数,表示每个数,两个数之间用空格分开。(0<=xi<=106)【输出文件】gold.out两行,每行一个数,表示最完美的一对数。【样例输入】42 3 4 6【样例输出】23【说明】你可以认为黄金分割比就是0.6180339887498949 阅读全文

posted @ 2013-12-12 22:10 生活不变心在变 阅读(232) 评论(0) 推荐(0)

数字距离

摘要: 数字距离dist.pas【问题描述】有一组数互不相同的数,规定两个元素之间的距离为两个元素序号的差的绝对值。求任意两个元素之间的距离。【输入文件】dist.in第一行,一个数n,表示这组数的个数。(2<=N<=106)第二行,共n个数,数与数之间有一个空格。(|xi|<=109)第三行,一个数q,表示询问q次(1<=q<=106)以下q行,每行两个数a, b(保证这两个数都在这组数中)【输出文件】dist.out共q行,每行一个数,表示两个数之间的距离。【样例输入】51 3 5 6 818 3【样例输出】3 阅读全文

posted @ 2013-12-12 22:09 生活不变心在变 阅读(320) 评论(0) 推荐(0)

区间

摘要: 区间region.pas【问题描述】给定n个闭区间 [ai,bi], i=1,2,...,n. 这些区间的和可以用两两不相交的闭区间的和来表示。你的任务是找到这样的区间数目最少的表示,且把它们按升序的方式写到输出文件中。当且仅当a <= b < c <= d时,区间[a; b],[c; d]才是升序写一个程序完成以下任务:读取区间,计算出满足上述条件的两两不相交的区间,把找到的区间按升序输出。【输入格式】region.in第一行只有一个数n, 3 <= n <= 50000,代表区间数.第I+1行有两个数ai,bi,之间用一个空格隔开,分别表示区间[ai,bi]的 阅读全文

posted @ 2013-12-12 22:08 生活不变心在变 阅读(368) 评论(0) 推荐(0)

管道铺设

摘要: 管道铺设pipe.pas【问题描述】石油公司计划建造一条由南向北的主输油管道。该管道要穿过一个有n 口油井的油田。从每口油井都要有一条输油管道沿最短路经(或东或西)与主管道相连。如果给定n口油井的位置,即它们的x 坐标(东西向)和y 坐标(南北向),应如何确定主管道的最优位置,使各油井到主管道之间的输油管道长度总和最小。现在给定n 口油井的位置,请计算各油井到主管道之间的输油管道最小长度总和。【输入格式】pipe.in文件的第1行是油井数n,1≤n≤10000。接下来n行是油井的位置,每行2个整数x和y,-10000≤x,y≤10000。【输出格式】pipe.out只有一个数,表示油井到主管道 阅读全文

posted @ 2013-12-12 22:07 生活不变心在变 阅读(427) 评论(0) 推荐(0)

化装晚会

摘要: 化装晚会party.pas【问题描述】万圣节又到了!Farmer John打算带他的奶牛去参加一个化装晚会,但是,FJ只做了一套能容 下两头总长不超过S(1 <= S <= 1,000,000)的牛的恐怖服装。FJ养了N(2 <= N <= 20,000)头按1..N顺序编号的奶牛,编号为i的奶牛的长度为L_i(1 <= L_i <= 1,000,000)。如果两头奶牛的总长度不超过S,那么她们就能穿下这套服装。FJ想知道,如果他想选择两头不同的奶牛来穿这套衣服,一共有多少种满足条件的方案。【输入格式】party.in第1行: 2个用空格隔开的整数:N 和 阅读全文

posted @ 2013-12-12 21:56 生活不变心在变 阅读(434) 评论(0) 推荐(0)

无穷的序列

摘要: 无穷的序列unlessseq.pas【问题描述】有一个无穷序列如下:110100100010000100000…请你找出这个无穷序列中指定位置上的数字。【输入格式】unlessseq.in第一行一个正整数N (N≤1500000),表示询问次数;接下来的N行每行一个正整数Ai(Ai≤109),Ai表示在序列中的位置。【输出格式】unlessseq.outN行,每行为0或l,表示序列第Ai位上的数字。【样例输入】431476【样例输出】0010 阅读全文

posted @ 2013-12-12 21:53 生活不变心在变 阅读(295) 评论(0) 推荐(0)

导航