首页 > 代码库 > POJ-3617-Best Cow Line
POJ-3617-Best Cow Line
题目链接
http://poj.org/problem?id=3617
题目倒是个水题,数据也有点水,但是题意却不容忽视,不管题目如何容易,你题意不懂,一切都是假的。
一个注意点输出80个字符得换行, 我犯了一个错误就是
for(i=0;i<n;i++)
{
getchar();
scanf("%c",&str[i]);
}
如果你只这样的话错了
的加个
str[n]=‘\0‘;
直接左右标记找就可以了。
代码
#include<stdio.h>
#include<string.h>
int main(void)
{
int n,r,l,i,k;
char str[2010];
while(scanf("%d",&n)==1)
{
k=0;
for(i=0;i<n;i++)
{
getchar();
scanf("%c",&str[i]);
}
str[n]=‘\0‘;
l=0; r=strlen(str)-1;
int k1=l,k2=r;
while(l<=r)
{
if(str[k1]<str[k2])
{
if(k&&k%80==0)
printf("\n");
printf("%c",str[l]);
k++;
l++;
k1=l; k2=r;
}
else if(str[k1]>str[k2])
{
if(k&&k%80==0)
printf("\n");
printf("%c",str[r]);
k++;
r--;
k1=l; k2=r;
}
else
{
k1++; k2--;
}
}
printf("\n");
}
return 0;
}
注意
6
A
A
A
A
A
A
这种情况。
POJ-3617-Best Cow Line