上海交通大学05-07年上机真题 doc附答案 下载本文

内容发布更新时间 : 2024/5/21 23:35:26星期一 下面是文章的全部内容请认真阅读。

2005年上机试题

发信人: tiancai (tiancai), 信区: KaoyanExam 标 题: Re: 问:今年cs上机题是什么?

发信站: 饮水思源 (2005年04月01日16:10:39 星期五)

可能晚些时候会有人发出完整版本,我写一下我记到的东西:

1. 太恐怖了, 12翻一下是21对吗? 34翻一下是43对吗?

12+34是46对吗?46翻一下是64对吗? 现在给你21与43,把64输出就可以了。 2.

给你一串路径,譬如 a\\b\\c a\\d\\e b\\cst d

你把这些路径中蕴涵的目录结构给画出来,子目录直接列在父目录下面,并比父目录向右 缩一格,就象这样 a b c d e b cst d

同一级的需要按字母顺序排列,不能乱。

3. 这题听说.....有点问题。反正大概意思是这样的(除非我理解错了.....): 有一个x[6][6] 任意的 0<=i,j<=5 1<=x[i][j]<=10; 现在有一个起始位置i1,j1与一个结束位置i2,j2。 请找出一条从i1,j1到i2,j2的总代价最小的路径。 1. 只能沿上下左右四个方向移动 2. 总代价是每走一步的代价之和

3. 每步(从a,b到c,d)的代价是x[c][d]与其在a,b处状态的乘积 4. 初始状态(在i1,j1时的状态)是1,每走一步,状态按如下公式变化 (走这步的代价 % 4)+1 也就是状态只有4种:1,2,3 or 4.

2006年上机试题:

Problem A.Fibonacci Input: fib.in

Output: Standard Output Time limit: 5 second Memory limit: 64 megabytes

The Fibonacci Numbers{0,1,1,2,3,5,8,13,21,34,55...} are defined by the recurrence: F0=0 F1=1 Fn=Fn-1+Fn-2,n>=2

Write a program to calculate the Fibonacci Numbers. Input

The input file contains a number n and you are expected to calculate Fn.(0<=n< =30) Output

Print a number Fn on a separate line,which means the nth Fibonacci Number. Example

fib.in Standard Output 1 1 2 1 3 2 4 3 5 5 6 8

Problem B.WERTYU Input: wertyu.in Output: Standard Output Time limit: 5 second Memory limit: 64 megabytes

A common typing error is to place the hands on the keyboard one row to the rig ht of the correct position.So \ so on.You are to decode a message typed in this manner.

` 1 2 3 4 5 6 7 8 9 0 - = BackSp Tab Q W E R T Y U I O P [ ] \\ A S D F G H J K L ; ' Enter Z X C V B N M , . / Control Alt Space Alt Control Input

The input file consist of several lines of text.Each line may contain digits,s paces,upper case letters(except Q,A,Z),or punctuation shown above(except back- quote(') which is left to the key \ntrol,etc.] are not represented in the input.

Output

You are to replace each letter or punctuation symbol by the one immediately to its left on the QWERTY keyboard shown above.Spaces in the input should be ech oed in the output. Example

wertyu.in Standard Output O S, GOMR YPFSU/ I AM FINE TODAY.

Problem C.String Matching Input: matching.in Output: Standard Output Time limit: 5 second Memory limit: 64 megabytes

Finding all occurrences of a pattern in a text is a problem that arises freque ntly in text-editing programs.

Typically,the text is a document being edited,and the pattern searched for is a particular word supplied by the user.

We assume that the text is an array T[1..n] of length n and that the pattern i s an array P[1..m] of length m<=n.We further assume that the elements of P and T are all alphabets(∑={a,b...,z}).The character arrays P and T are often cal led strings of characters.

We say that pattern P occurs with shift s in the text T if 0<=s<=n and T[s+1.. s+m] = P[1..m](that is if T[s+j]=P[j],for 1<=j<=m).

If P occurs with shift s in T,then we call s a valid shift;otherwise,we call s a invalid shift.

Your task is to calculate the number of vald shifts for the given text T and p attern P. Input

In the input file,there are two strings T and P on a line,separated by a singl e space.You may assume both the length of T and P will not exceed 10^6. Output

You should output a number on a separate line,which indicates the number of va lid shifts for the given text T and pattern P. Example

matching.in Standard Output aaaaaa a 6 abababab abab 3 abcdabc abdc 0

Problem D.Exponential Form Input: form.in Output: Standard Output Time limit: 5 second Memory limit: 64 megabytes

Every positive number can be presented by the exponential form.For example, 137 = 2^7 + 2^3 + 2^0

Let's present a^b by the form a(b).Then 137 is presented by 2(7)+2(3)+2(0). Since 7 = 2^2 + 2 + 2^0 and 3 = 2 + 2^0 , 137 is finally presented by 2(2(2)+2 +2(0))+2(2+2(0))+2(0).