POJ3617

需要字典序较小
比较前后两端的字符:如果出现两个字符相同,那么就要顺移一位去比较附近的一位字符。

#include <iostream>
#include<cstdlib>
#include<cstdio>
#include<stack>
#include<algorithm>
#include<cstring>
#include<queue>
#include<cmath>
#include<vector>
#include<map>
#include<set>
using namespace std;


char x[2010];

int main()
{
    int N;
    scanf("%d",&N);
    for(int i=0;i<N;i++){
        cin>>x[i];
    }
    
    int a=0;
    int b=N-1;
    
    int cnt=0;

    while(a<=b){
        bool flag=0;
                for(int i=0;a+i<b;i++){
            if(x[a+i]>x[b-i]){
                flag=1;
                break;
            }
            if(x[a+i]<x[b-i]){
                flag=0;
                break;
            }
        }
        
        if(flag==1){
            putchar(x[b--]);
            cnt++;
        }
        else if (flag==0){
            putchar(x[a++]);
            cnt++;
        }
        
        if(cnt==80){
            printf("\n");
            cnt=0;
        }
        
    }
    
        
   return 0;
}

posted @   A1han  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示