首页 > 试题广场 >

游游的字符串构造

[编程题]游游的字符串构造
  • 热度指数:1114 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
游游希望你构造一个长度为n的、仅由'y'、'o'、'u'三种字符组成的字符串,需要保证该字符串包含恰好k个"you"子串。你能帮帮她吗?

输入描述:
两个正整数nk,用空格隔开。
1\leq n,k \leq 10^5


输出描述:
如果无法构造,请输出-1。
否则输出一个长度为n的合法的字符串。
示例1

输入

9 1

输出

yuuoyouuy
#include <stdio.h>
#include <string.h>

int main() {
    char str[1000001] = {0};
    int n=0,k=0;
    scanf("%d%d",&n,&k);
    if(n<k||k*3>n){
        printf("-1");
        return 0;
    }
    int cur = 0;
    while(k--){
        str[cur++] = 'y';
        str[cur++] = 'o';
        str[cur++] = 'u';
    }
    int len = strlen(str);
    if(len<n){
        for(;cur<n;cur++){
            str[cur]='o';
        }
    }
    printf("%s",str);
    return 0;
}

发表于 2023-12-18 17:41:16 回复(0)
是我理解有问题吗?这个题的难度怎么跟其他的格格不入
nk = list(map(int, input().split()))
bu = nk[0] - nk[1] * 3
print("-1" if bu < 0 else "you" * nk[1] + 'y' * bu)


发表于 2023-10-02 20:38:16 回复(0)