• 奇怪的字符串


    A 奇怪的字符串
    文件名 输入文件 输出文件 时间限制 空间限制
    str.pas/c/cpp str.in str.out 1s 128MB
    题目描述
    有一天,小 A 的女票为了让小 A 证明他对她的忠诚,要求小 A 生成一个长度
    为 n 的、全由小写英文字母构成的字符串,只能使用 k 种字母。要求满足:
    • 字符串中相邻的两个字母不能相同。
    • 必须出现恰好 k 种不同的字母。
    这样的合法字符串可能有很多,小 A 的女票要求小 A 输出字典序最小的那个。
    小 A 太笨了,但是小 A 又不希望丢掉女票,希望你帮帮他。
    输入格式
    输入文件只有两个数字 n,k,含义如题。
    输出格式
    输出文件共一行,输出合法的字典序最小的字符串。
    如果不存在任意一个合法的方案,输出 −1。
    样例输入
    7 4
    样例输出
    ababacd
    数据范围
    对于 100% 的数据,1 ≤ n ≤ 10 5 ,1 ≤ k ≤ 26

    简单的模拟:注意特判

    #include<cstdio>
    #include<queue>
    #include<cstring>
    #include<iostream>
    #include<vector>
    #include<cmath>
    using namespace std;
    int n,k;
    int main()
    {
        freopen("str.in","r",stdin);
        freopen("str.out","w",stdout);
        scanf("%d%d",&n,&k);
        if((k==1&&n>1)||k>n)
        {
            cout<<-1;
            return 0;
        }
        int i=1,cnt=3;
        for( i=1;i<=n-k+2&&i<=n;i++)
        {
            if(i%2)
                printf("a");
            else printf("b");
        }
        for(i;i<=n;i++,cnt++)
        printf("%c",cnt+'a'-1);
        return 0;
    }
  • 相关阅读:
    Haskell Interactive Development in Emacs
    Access Java API in Groovy Script
    手工设置Eclipse文本编辑器的配色
    Color Theme of Emacs
    Gnucash的投资记录
    Special Forms and Syntax Sugars in Clojure
    Use w3m as Web Browser
    SSE指令集加速之 I420转BGR24
    【图像处理】 增加程序速度的方法
    TBB 入门笔记
  • 原文地址:https://www.cnblogs.com/CLGYPYJ/p/7723232.html
Copyright © 2020-2023  润新知