1 条题解

  • 0
    @ 2025-2-14 21:11:41

    C :

    #include <stdio.h>
    #include <string.h>
    int main()
    {
        int k,l,max,z;
        char s[105],ans[105];
        scanf("%d",&z);
        while(z--)
        {
            scanf("%s%d",s,&k);
            l = strlen(s);
            for(int i=0,q=-1;i<l-k;i++)
            {
                max = 0;
                for(int j=q+1;j<=k+i;j++)
                    if(max < s[j])
                        max = s[j] , q = j;
                ans[i] = max;
            }
            ans[l-k] = '\0';
            puts(ans);
        }
    	return 0;
    }    
    

    C++ :

    #include <iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    
    char b[105];
    int main()
    {
        int T,m;
        cin>>T;
        while(T--)
        {
            char number[105];
            cin>>number>>m;
            int len=strlen(number);
            int i,j,k;
            k=j=0;
            while(m<len)
            {
                int Max=0;
                for(i=k;i<m+1;i++)
                {
                    if(number[i]-'0'>Max)
                    {
                        Max=number[i]-'0';
                        k=i+1;
                    }
                }
                b[j++]=Max+'0';
                m++;
            }
            b[j]='\0';
            puts(b);
        }
        return 0;
    }
    
    
    • 1

    信息

    ID
    701
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者