poj 3617 Best Cow Line 贪心

poj 3617 Best Cow Line

题目链接:

http://poj.org/problem?id=3617

思路:

贪心
第一个字母和最后一个字母比较字典序,果如大小相同,左边指针++,右边指针--,继续比较
最后注意输出格式:每80个字母换一次行

代码:

#include <iostream>
#include <stdio.h>
using namespace std;
const int maxn = 2005;
char s[maxn];
char t[maxn];
int main() {
    int n;
    scanf("%d",&n);
    getchar();
    for(int i=0;i<n;++i) scanf("%c",&s[i]),getchar();
    int l,r,index=0;
    l=0;r=n-1;
    while(l<=r) {
        bool flag = false;
        for(int i=0;l+i<=r;++i) {
            if(s[l+i]<s[r-i]) {
                flag=true;
                break;
            } else if(s[l+i]>s[r-i]) {
                flag=false;
                break;
            }
        }
        if(flag) t[index]=s[l],l++,index++;
        else t[index]=s[r],r--,index++;
    }
    for(int i=0;i<index;++i) {
        putchar(t[i]);
        if((i+1)%80==0) putwchar('
');
    }
    return 0;
}
原文地址:https://www.cnblogs.com/lemonbiscuit/p/7908810.html