题库(文件较多)(7)

2019-02-15 14:48

你的任务是写一个程序,计算出一个给定的入射光线在给定的若干各柱子之间的反射情况。 输入文件(ECHO.IN):

所有的柱面都是分离不相连的,光线不会从柱子里面发出,也永远不会和柱子相切。

最后一段只包含数字0表示结束。不用处理这个段。 输出文件(ECHO.OUT):

对每个描述场景的段首先输出场景的编号,接着输出光线首先击中的十个柱子的编号(柱子的编号就是它们在输入文件中的顺序号)。

如果一束光线至多击中了十个柱子(然后它就射向远方),那么在最后一个它击中的柱子编号后面输出inf。如果它击中了多于十个柱子,那么在第十个柱子的编后后面输出三个点(?)。输入文件中最后的空段不需要在输出文件中有内容相对应。 输入输出样例: ECHO.IN 3 3 3 2 7 7 1 8 1 1 3 8 1 –4 2 0 0 1 5 0 2 2 0 1 0 0

ECHO.OUT Scene 1 1 2 1 3 inf Scene 2

2 1 2 1 2 1 2 1 2 1 ...

方程的解(EQUATION)

31

提交文件名:EQUATION.PAS 问题描述:

已知一个方程:X1 + X2 + X3 + ?? + Xn = P

其中:X1 ≥ A1,X2 ≥ A2,X3 ≥ A3,??,Xi ≥ Ai,??,Xn ≥ An, Ai 为 Xi 的下限,Ai 由输入文件给出。

并且 n

P ≥∑ Ai

i=1 现求这个方程的非负整数解的个数。 输入文件(EQUATION.IN):

输入文件中含有n+2行数据。第一行为n,第二行为A1,第三行为A2,?,第n+1行为An,第n+2行为一个正整数P。(1 ≤ n,p ≤ 200) 输出文件(EQUATION.OUT):

只有一个数,即这个方程的非负整数解的总数。 输入输出样例: EQUATION.IN 2 1 1 6

EQUATION.OUT 5

方格取数(TAKE NUMBERS OF PANE)

提交文件名:TAKENUM.PAS 问题描述:

设有N×N的方格图,我们将其中的某些方格中填入正整数,而其它的方格中则放入数字0。如下图所示:

A

0 0 0 0 0 0 0 0 0 0 0 0 21 0 14 0 0 13 0 0 0 15 0 0 0 0 0 14 0 0 0 0 0 0 7 0 0 0 0 0 0 6 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B

32

某人从图中的左上角的A出发,可以向下行走,也可以向右行走,直到达右下角的B点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。 问题求解:

此人从A点到B点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。 输入文件(TAKE.IN):

输入文件TAKE.IN第一行为一个整数N(N≤10),表示N×N的方格图。

接下来的每行有三个整数,第一个为行号数,第二个为列号数,第三个为在该行、该列上所放的数。一行0 0 0表示结束。 输出文件(TAKE.OUT):

输出文件TAKE.OUT包含一个整数,表示两条路径上取得的最大的和。 输入输出示例: TAKE.IN 8 2 3 13 2 6 6 3 5 7 4 4 14 5 2 21 5 6 4 6 3 15 7 2 14 0 0 0 TAKE.OUT 67

正方体着色(SQUARE)

提交文件名:SQUARE.PAS 问题描述:

我们有一台机器为正方体着色。共有三种颜色:蓝色(b)、红色(r)和绿色(g),正方体的每一个面都涂上一个颜色。我们给正方体的每一个面一个编号,如下图所示:

由于正方体有6个面,所以一共有729种不同的着色方法。但如果我们不考虑每个面的编号,那么着

33

色方法就会少得多,因为正方体可以旋转。我们用一个长度为6的字符串来表示一个已着色的正方体。字符串由r, g, b三种字符组成,第i个字符表示第i面的颜色。 例如下图所示,我们用rbgggr表示图2,用rggbgr表示图3。

但可以发现图2绕着竖轴旋转90度后就可以得到图3。

你的程序需要判断第一个正方体能否通过旋转,变成第二个正方体。 输入文件(SQUARE.IN):

有若干行,每一行是一个字符串,由12个字符组成。前6个字符表示一个着色的正方体,后6个表示另一个。

输出文件(SQUARE.OUT):

对应也有若干行,如果第一个正方体能否通过旋转变成第二个正方体,就输出TRUE;否则输出FALSE。 输入输出样例: SQUARE.IN rbgggrrggbgr rrrbbbrrbbbr rbgrbgrrrrrg

SQUARE.OUT TRUE FALSE FALSE

分解因式 (FACTOR)

提交文件名:FACTOR.PAS 问题描述:

一个自然数N的正因子个数记为F(N),例如18的所有正因子为1、2、3、6、9、18,所以F(18)=6。 问题求解:

现在给出K,求所有满足F(N)=K的N中最小的数。 输入文件(FACTOR.IN):

从文件读入数据,第一行为K,其中0

输出到文件第一行,如果存在不大于20000的解,则输出这个N,否则输出“NO SOLUTION”。

34

输入输出样例1:

FACTOR.IN 9 输入输出样例2:

FACTOR.IN 17

分配工作(Divide)

提交文件名:DIVIDE.PAS 问题描述:

NOI评委会采用计算机自动评测系统来评测选手的程序,选手程序的优劣会直接影响到评测用时。为了提高评测效率,将用两台计算机来对一个选手的程序进行评测。显然,两台计算机所分配的工作越平均,总效率就越高,总共所用的时间也就越短。所以我们先对一个选手1-6题程序的耗时作估计。然后再根据估计耗时值把选手的程序分配给两台计算机评测。 问题求解:

现在你的任务是:判断是否存在一个方案,使得分配到两台计算机的一个选手程序的总估计耗时值相等。

输入文件(DIVIDE.IN):

输入文件第一行只有一个正整数n,表示共有n个选手。接下来有n行,每行共有六个非负整数,依次表示一个选手1-6题程序的估计耗时值。六个数的总和不大于20000。 输出文件(DIVIDE.OUT):

输出文件共有n行,依次对应输入文件中的n个选手。若某个选手存在平均分配方案则输出“Can be divided.”,否则输出“Can't be divided.”。 输入输出示例: divide.in 2

1 0 1 2 0 0 1 0 0 0 1 1

divide.out Can be divided. Can't be divided.

分数变小数(FTOR)

提交文件名:FTOR.PAS 问题描述:

编写一个程序,接受一个以N / D的形式输入的分数,其中N为分子,D为分母,输出它的小数形式。如果它的小数形式存在循环节,要将其用括号括起来。

0 <= N <= 65535,0 < D <= 65535,设运算结果小数点后最多保留100位。 输入输出样例: INPUT : 1/3 OUTPUT :0.(3)

FACTOR.OUT NO SOLUTION FACTOR.OUT 36 35


题库(文件较多)(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:汽轮机组调试方案1.2MW

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: