• 1640: [Usaco2007 Nov]Best Cow Line 队列变换


    1640: [Usaco2007 Nov]Best Cow Line 队列变换

    Time Limit: 5 Sec  Memory Limit: 64 MB
    Submit: 543  Solved: 278
    [Submit][Status]

    Description

    FJ打算带着他可爱的N (1 ≤ N ≤ 2,000)头奶牛去参加”年度最佳老农”的比赛.在比赛中,每个农夫把他的奶牛排成一列,然后准备经过评委检验. 比赛中简单地将奶牛的名字缩写为其头字母(the initial letter of every cow),举个例子,FJ带了Bessie, Sylvia,和Dora,那么就可以缩写为BSD. FJ只需将奶牛的一个序列重新排列,然后参加比赛.他可以让序列中的第一头奶牛,或者最后一头走出来,站到新队列的队尾. 利欲熏心的FJ为了取得冠军,他就必须使新队列的字典序尽量小. 给你初始奶牛序列(用头字母)表示,然后按照上述的规则组成新序列,并使新序列的字典序尽量小.

    Input

    第1行:一个整数N.

    第2行至第N+1行:每行一个大写字母,表示初始序列中该奶牛的头字母.

    Output

    得到的最小字典序的序列.每输出80个字母需要一个换行!

    Sample Input

    6
    A
    C
    D
    B
    C
    B

    Sample Output

    ABCBCD

    HINT

    Source

    Silver

     题解:呵呵呵,此题直接递归就行了,注意处理当两边相等时的情况(果然是弱化版的,朴素递归40ms我也是醉了)

     1 var
     2    i,j,k,l,m,n:longint;
     3    s1:ansistring;
     4    c1:char;
     5 function concern(s1:ansistring):ansistring;
     6          var
     7             i,j:longint;
     8          begin
     9               if length(s1)=1 then exit(s1);
    10               i:=1;j:=length(s1);
    11               while (i<j) and (s1[i]=s1[j]) do
    12                     begin
    13                          inc(i);
    14                          dec(j);
    15                     end;
    16               if s1[i]<=s1[j] then
    17                  concern:=s1[1]+concern(copy(s1,2,length(s1)-1))
    18               else
    19                   concern:=s1[length(s1)]+concern(copy(s1,1,length(s1)-1));
    20          end;
    21 begin
    22      readln(n);
    23      s1:='';
    24      for i:=1 to n do
    25          begin
    26               readLN(c1);
    27               s1:=s1+c1;
    28          end;
    29      s1:=concern(s1);
    30      for i:=1 to length(s1) div 80 do
    31          writeln(copy(s1,i*80-79,80));
    32      if (length(s1) mod 80)>0 then
    33         writeln(copy(s1,length(s1)+1-(length(s1) mod 80),length(s1) mod 80));
    34 end.
  • 相关阅读:
    docker容器中查看容器linux版本
    mac 安装docker
    音视频流处理
    激光雷达
    sick 激光
    Ubuntu 14.04 安装Docker
    W: GPG error: http://ppa.launchpad.net trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8CF63AD3F06FC659
    rtp发送 h265
    pytorch 环境搭建
    Linux 修改文件夹的用户组权限
  • 原文地址:https://www.cnblogs.com/HansBug/p/4166003.html
Copyright © 2020-2023  润新知