Sramoc问题 RE90分,帮帮我

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
struct node {
	string s;
	int num;
};
int k, m;
queue<node> q;
void bfs() {
	for (int i = 1; i < k; i ++) {
		q.push(node {to_string(i), i % m});
	}
	while (!q.empty()) {
		node now = q.front();
		q.pop();
		for (int i = 0; i < k; i ++) {
			int nnum = (now.num * 10 + i) % m;
			q.push(node {now.s + to_string(i), nnum});
			if (nnum == 0) {
				cout << now.s + to_string(i);
				return;
			}
		}
	}
}
int main() {
	cin >> k >> m;
	bfs();
	return 0;
}

可以发一下题面吗?

3.  Sramoc问题
题目ID:1332拓展题100分
最新提交:
Runtime Error
90 分
历史最高:
Accepted
100 分
时间限制: 1000ms
空间限制: 65536kB
题目描述
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)

错哪个点

Test 4
Runtime Error
time: -1ms,memory:-1kb, points: 0
输入
2 999
预期输出
111111111111111111111111111
速度很慢,半分钟才输出,结果是对的

…我之前也错的这个点

1 个赞

我以前做过但是突然忘了,我去找一下我的代码

喵?

看了一下,主体基本都对,还需要进一步检查

if(now.mod%m==0){
	cout<<now.s;
	return;
}

少了这个
加在
q.pop()的后面吧
A了解决方案

你为什么没有vis数组???

now.mod是啥意思

就是num

此帖子已被社区举报,现已被临时隐藏。

不要发AC代码

举报了

我不接受特判过题

不是哥们,我跟他用的方法都是一样的bfs+结构体+队列

不是这个问题,不能发AC代码

if (k==2&&m==999)printf("111111111111111111111111111");
那你这。。。