poj 1146

poj 1146题目链接:http://poj.org/problem?id=1146此题求所给字符串按字典序的下一个由原串字母排列的串,题目不难,开始看错了,wrong一次#include<stdio.h>#include<stdlib.h>#include<string.h>intmain(intargc,char**argv){…

大家好,又见面了,我是你们的朋友全栈君。

题目链接:http://poj.org/problem?id=1146

此题求所给字符串按字典序的下一个由原串字母排列的串,题目不难,开始看错了,wrong一次

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char** argv) {

    char a[55],temp;
    int k,i,j,flag,t;
    while(scanf("%s",a)&&a[0]!='#')
    {
        flag=-1;
        k=strlen(a);
        t=k-1;
        for(i=k-2;i>=0;--i)
        {
            if(a[i]>=a[t])
            {
                t=i;
            }
            else
            {
                if(a[k-1]>a[i])
                {
                    flag=k-1;
                }
                else
                {
                    for(j=t;j<k;j++)
                    {
                        if(a[j]<=a[i])
                        {
                            flag=j-1;
                            break;
                        }
                    }
                }
                break;
            }
        }
        if(flag==-1)
        {
            printf("No Successor\n");
        }
        else
        {
            temp=a[i];
            a[i]=a[flag];
            a[flag]=temp;
            for(j=0;j<=i;j++)
            {
                printf("%c",a[j]);
            }
            for(j=k-1;j>=i+1;--j)
            {
                printf("%c",a[j]);
            }
            printf("\n");
        }
    }
    return (EXIT_SUCCESS);
}

 

代码:

转载于:https://www.cnblogs.com/fengyuehan/archive/2012/04/10/poj1146.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143080.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月22日 下午12:00
下一篇 2022年5月22日 下午12:00


相关推荐

  • lunix常用命令「建议收藏」

    lunix常用命令「建议收藏」文件管理命令ls      显示文件或目录   -l     列出文件详细信息l(list)   -a     列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir    创建目录   -p     创建目录,若无父目录,则创建p(parent)cd   

    2022年10月3日
    5
  • 全网疯传的 Claude Code,3000 字保姆级教程 !

    全网疯传的 Claude Code,3000 字保姆级教程 !

    2026年3月16日
    2
  • SMTP协议介绍_介绍给别人怎么写合同

    SMTP协议介绍_介绍给别人怎么写合同1、SMTP介绍基本概念SMTP(SimpleMailTransferProtocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则

    2025年8月22日
    5
  • myeclipse8.5注册码在线生成_myeclipse注册码永久

    myeclipse8.5注册码在线生成_myeclipse注册码永久这几天myeclipse弹出注册码过期,去网上一搜,要么已过期,要么就剩一两个月。倒腾了半天,自己申请了几个注册码,给大家分享一下Subscriber:huazaiSubscriptionCode:uLR8ZC-855550-61565856301609203Subscriber:feifeiSubscriptionCode:sLR8ZC-855550-615658

    2026年4月18日
    7
  • 关于socket通信bind()返回值错误:10049

    关于socket通信bind()返回值错误:10049前几天偶尔收到一个朋友的求救,要编写一个IPV6的socket编程开始以为这个问题很容易,因为socket已经兼容IPV4和IPV6的,改下那几个接口就可以了然后….被卡住了….修改了参

    2022年7月2日
    39
  • FusionChartsFree设置指南

    FusionChartsFree设置指南最近几天在解决各种FusionChartsFree设置的问题,故总结出这份文档(附件),但是不全,以后用到其他组件再持续更新!

    2022年7月13日
    18

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号