poj 3617

来源:互联网 发布:xiaoy的淘宝店 编辑:程序博客网 时间:2024/06/13 00:59
#include <stdio.h>#include <stdlib.h>char a[2001];int main(){    int n;    int i,j,k,ok,count;    while(~scanf("%d",&n)){        count=0;        for(i=0;i<n;i++)            scanf("\n%c",&a[i]);        j=0;k=n-1;        while(j<=k){            ok=0;            for(i=0;i<n;i++){                if(a[j+i]<a[k-i])                    {ok=1;break;}                if(a[j+i]>a[k-i])                    {ok=0;break;}            }            if(ok) printf("%c",a[j++]);            else printf("%c",a[k--]);            count++;            if(count==80)            {                printf("\n");                count=0;            }        }        printf("\n");    }    return 0;}

简单的贪心,如果首尾不一样,只要输出字典序小的就可以,如果相同,就比较下一个字符。

ps:这个题贡献了5个PE,不能忍啊,做题还是狠狠读题目吧。

0 0
原创粉丝点击