首页| 论坛| 消息
主题:2003年四川省选拔测试
121371490发表于 2007-10-26 22:07
2003年四川省选拔测试
时间:4小时

题目文件输入输出分值
括号的匹配Match.exeMatch.inMatch.out50
表达式的数值fractionexefraction.inFraction.out50
邮递员的安排Post.exePost.inPost.out50

题一:括号的匹配

题意描述:
在算术表达式中,除了加、减、乘、除等运算外,往往还有括号。包括有大括号{},中括号[],小括号(),尖括号等。
对于每一对括号,必须先左边括号,然后右边括号;如果有多个括号,则每种类型的左括号和右括号的个数必须相等;对于多重括号的情形,按运算规则,从外到内的括号嵌套顺序为:大括号->中括号->小括号->尖括号。例如,{[()]},{()}为一个合法的表达式,而([{}]),{([])},[{}]都是非法的。

输入:

文件的第一行为一个整数n(1≤n≤100),接下来有n行仅由上述四类括号组成的括号表达式。第i+1行表示第i个表达式。每个括号表达式的长度不超过255。

输出:

在输出文件中有N行,其中第I行对应第I个表达式的合法性,合法输出YES,非法输出NO。

示例:

match.inmatch.out
5
{[()]}
[()]
()[]{}
[{}]
{()}YES
YES
YES
NO
YES
题二:分数的位置

题意描述:

将所有的分母小于N的真分数(分子小于分母,数值小于1)从大到小排列出来后,例如当N=4时,所有的真分数有1/4,1/3,1/2,2/3,3/4。其中第三个真分数为1/2,其分子为1,分母为2。编一个程序,对给定的N,求出第M个真分数的值。

输入:

输入文件中第一行有一个数N,第二行为一个数字M(N
回帖(96):
96楼:look
95楼:谢谢
94楼:goodgood

--> 全部回帖(96)»
最新回帖
收藏本帖
发新帖