本文共 757 字,大约阅读时间需要 2 分钟。
#include #include #include #include #include #include #include #include #include #include using namespace std; #define max(a, b) a>b?a:b #define min(a, b) a que; memset(visit, 0, sizeof(visit)); MAZE p, q; p.a=s; p.b=0; p.c=0; p.step=0; visit[p.a][p.b][p.c]=1; que.push(p); while(!que.empty()) { p=que.front(); que.pop(); if((p.a==p.b&&p.c==0)||(p.a==p.c&&p.b==0)||(p.b==p.c&&p.a==0)) { printf("%d\n", p.step); return; } q=p; if(p.a!=0) { if(p.a>n-p.b)//也就是说p.a还有剩余 { //q= (MAZE) {p.a-n+p.b, n, p.c, p.step+1}; q.a=p.a-n+p.b; q.b=n; q.c=p.c; q.step=p.step+1; } else
转载于:https://www.cnblogs.com/wazqWAZQ1/p/4663393.html