需要注意的是,进行模运算剪枝……
#include<iostream>
#include<queue>
#include<cstdlib>
#include<cstring>
using namespace std;
int N,M,K,T,X;
bool used[1010];
struct node
{
int value,step;
char prc[10000];
}st;
int remind(int a,int b)
{
return (a%b+b)%b;
}
void init()
{
T=remind(N+1,K);
st.value=N;
X=M*K;
st.step=0;
memset(used,0,sizeof(used));
used[st.value]=1;
}
void bfs()
{
int i,tmp,tmp1;
queue<node>qq;
node t1,t2;
qq.push(st);
while(qq.size())......
阅读全文