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('\n');
}
return 0;
}