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]='';

直接左右标记找就可以了。

代码

#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]='';
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(" ");
printf("%c",str[l]);
k++;
l++;
k1=l; k2=r;
}
else if(str[k1]>str[k2])
{
if(k&&k%80==0)
printf(" ");
printf("%c",str[r]);
k++;
r--;
k1=l; k2=r;
}
else
{
k1++; k2--;
}
}
printf(" ");
}
return 0;
}

注意

6

A

A

A

A

A

A

这种情况。

原文地址:https://www.cnblogs.com/liudehao/p/4141522.html