字典序最小问题——Best Cow Line

这里写图片描述

#include <cstdio>
#include <iostream>

using namespace std;

#define MAX_N 2000

int N;

char S[MAX_N+1];

void solve()
{
    int a=0,b=N-1;

    while(a<=b)
    {
        bool left=false;
        for(int i=0;a+i<=b;i++)
        {
            if(S[a+i]<S[b-i])
            {
                left=true;
                break;
            }
            else if(S[a+i]>S[b-i])
            {
                left=false;
                break;
            }
        }
        if(left)
            putchar(S[a++]);
        else
            putchar(S[b--]);
    }
    putchar('\n');
}

int main()
{
    printf("N:\n");
    scanf("%d",&N);

    printf("S:\n");
    for(int i=0;i<N;i++)
    {
        scanf("%s",&S[i]);
    }

    solve();

    return 0;
}
posted @ 2015-05-19 14:42  nomasp  阅读(160)  评论(0编辑  收藏  举报