zoukankan      html  css  js  c++  java
  • pku3617 Best Cow Line

    有一个字符串,每次只能从两端取,求取得的字典序最小的子符序列。

    每次比较剩余字符串的正向和反向字符串的大小,正向大就在尾取,否则在头取,相当于贪心了吧。

    View Code
     1 program pku3617(input,output);
    2 var
    3 s1,s2 : ansistring;
    4 answer : ansistring;
    5 n : longint;
    6 procedure init;
    7 var
    8 i : longint;
    9 ch : char;
    10 begin
    11 readln(n);
    12 s1:='';
    13 for i:=1 to n do
    14 begin
    15 readln(ch);
    16 s1:=s1+ch;
    17 end;
    18 s2:='';
    19 for i:=length(s1) downto 1 do
    20 s2:=s2+s1[i];
    21 end; { init }
    22 procedure main;
    23 var
    24 i : longint;
    25 begin
    26 answer:='';
    27 for i:=1 to n do
    28 begin
    29 if s1>s2 then
    30 begin
    31 answer:=answer+s2[1];
    32 delete(s2,1,1);
    33 delete(s1,length(s1),1);
    34 end
    35 else
    36 begin
    37 answer:=answer+s1[1];
    38 delete(s1,1,1);
    39 delete(s2,length(s2),1);
    40 end;
    41 end;
    42 end; { main }
    43 procedure print;
    44 var
    45 tmp : ansistring;
    46 begin
    47 while length(answer)>=80 do
    48 begin
    49 tmp:=copy(answer,1,80);
    50 writeln(tmp);
    51 delete(answer,1,80);
    52 end;
    53 if answer<>'' then
    54 writeln(answer);
    55 end; { print }
    56 begin
    57 init;
    58 main;
    59 print;
    60 end.



  • 相关阅读:
    实心菱形
    进制转换
    简单题目
    一元二次方程求解
    反转整数
    最大公约数
    数老鼠
    “鱼额宝”
    数组第K小数
    最大子数组和
  • 原文地址:https://www.cnblogs.com/neverforget/p/2409608.html
Copyright © 2011-2022 走看看