4. Sramoc问题 RE90求条,給解决方案

题目描述

Sramoc ( K , M ) 表示用数字0、1、2…、K-1组成(数位拼接)的正整数中能被M整除的最小数。给定 K、M,求Sramoc ( K,M )。例如 K=2,M=7的时候,Sramoc( 2 , 7 ) = 1001。

输入格式:

第一行为两个整数K、M满足2≤K≤10、k≤M≤1000。

输出格式:

输出Sramoc(K,M)

样例输入:

2 7

样例输出:

1001

数据范围:

2≤K≤10、1≤M≤1000。

时间限制:

1000

空间限制:

65536

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
string S(ll k,ll m){
    unordered_set<string> v;
    queue<pair<ll,string>> q;
    q.push({0,"0"});
    while(!q.empty()){
        auto [num,s]=q.front();
        q.pop();
        for(ll i=0;i<k;i++){
            ll tn=num*10+i;
            string ns=s+to_string(i);
            if(tn%m==0 && tn!=0)return ns;
            if(v.find(ns)==v.end()){
                v.insert(ns);
                q.push({tn,ns});
            }
        }
    }
    
}
int main(){
    ll k,m;
    cin>>k>>m;
    string ans=S(k,m);
    bool flg=false;
    for(ll i=0;i<ans.size();i++){
      if(ans[i]!='0')flg=true;
      if(flg)cout<<ans[i];
    }
    return 0;
}

給解決方案,在线等大佬

求大佬指出我的代码那里有问题

你这我有点看不出来,我不是用栈写的,而且我不是大佬

你这个是哪一课的,我在洛谷写的

线上班
图灵普及三综合训练上午

嘶,没报图灵班呢