回 帖 发 新 帖 刷新版面

主题:Pascal难题

1.找最长良序字符串 

【问题描述】我们将“abc”或“aceg”等类似的字串称为良序字串(因为它们是按ascii码排列的),而像“acb”或“accd”或“agcd”则不可称为良序字串。

编写程序,将输入的一串字符中的最长良序字串找出来,并输出其长度。

 【输 入】:文件读入一串字符(长度≤30),以#结束。

 【输 出】:输出到屏幕。一个最长良序字串的长度。

 【样 例】:

     输入  acbcdecdeabc#

     输出  4



2.随机产生20个100以内的数,输出,按从小到大顺序排序,输出到文件s.out中。



3.给出一个数字三角形,求一条从顶到下的路径使和最大。对于每一点来说可以向下和向右走。

输入文件:sjx.in

第1行为三角形的行数n,以下n行为每行的数据。

输出文件:sjx.out。

仅一行,为最大值。

样例 sjx.in

5

7

3 8

8 1 0

2 7 4 4

4 5 2 6 5

sjx.out

31

回复列表 (共4个回复)

沙发

I love you

板凳

1.找最长良序字符串 

【问题描述】我们将“abc”或“aceg”等类似的字串称为良序字串(因为它们是按ascii码排列的),而像“acb”或“accd”或“agcd”则不可称为良序字串。

编写程序,将输入的一串字符中的最长良序字串找出来,并输出其长度。

 【输 入】:文件读入一串字符(长度≤30),以#结束。

 【输 出】:输出到屏幕。一个最长良序字串的长度。

 【样 例】:

     输入  acbcdecdeabc#

     输出  4

var b,c:char;

    t,max:integer;

begin

  read(c);t:=1;max:=0;

  repeat

    b:=c;

    read(c); if c<>'#' then

    if b<c then t:=t+1

     else begin if t>max then max:=t;t:=1;end;

  until c='#';

  readln;

  writeln(max);

  readln;

end.

2.随机产生20个100以内的数,输出,按从小到大顺序排序,输出到文件s.out中。

var a:array[1..20]of integer;

i,j,t:integer;

begin

assign(output,’s.out’);rewrite(output);

randomize;

for i:=1 to 20 do a[i]:=random(100);

 for i:=1 to 19 do

  for j:=i+1 to 20 do

   if a[i]>a[j] then

 begin t:=a[i];a[i]:=a[j];a[j]:=t end;

for i:=1 to 20 do write(a[i]:4);

close(output);

end.

3.给出一个数字三角形,求一条从顶到下的路径使和最大。对于每一点来说可以向下和向右走。

输入文件:sjx.in

第1行为三角形的行数n,以下n行为每行的数据。

输出文件:sjx.out。

仅一行,为最大值。

样例 sjx.in

5

7

3 8

8 1 0

2 7 4 4

4 5 2 6 5

sjx.out

31

var a:array[1..100,1..100]of integer;

   n,i,j,max,k:integer;

begin

assign(input,’sjx.in’); reset(input);

assign(output,’sjx.out’);rewrite(output);

readln(n);

for i:=1 to n do

for j:=1 to i do read(a[i,j]);

for i:=2 to n do

for j:=1 to i do

begin max:=0;

for k:=1 to j do

if a[i-1,k]>max then max:=a[i-1,k];

a[i,j]:=a[i,j]+max;

end;

max:=0;

for i:=1 to n do

if a[n,i]>max then max:=a[n,i];

writeln(max); close(output);

end.

3 楼

难难难难难难难难难难难......
难题?

4 楼

第一题将所有字符转换成ascii码,然后就是求最长不下降序列。
第二题。。。。。。可以成为难题吗?
第三题,先从上到下竟行贪心,之后从下向上进行动态规划,之后竟行比较。

我来回复

您尚未登录,请登录后再回复。点此登录或注册