/*
題意: 能否找到乙個數,只由0-9 中的m種數構成,而且在能整除x的情況下盡量小;
能 輸出 z=x*y;
不能 輸出 impossible;
解法1:
可以設定節點,節點資訊用了幾種數, 節點值mod x的數值,
數值的轉換可以在節點之間連邊,之後:
盡量小 — 找到最少的步數
不能 —走不到;
*/#include#include#include#include#include#includeusing namespace std;
#define size 1001
typedef structnode;
int dp[size][(1<<10)-1],pre[size*((1<<10)-1)+5],n,m,t,cnt;
node q[size*((1<<10)-1)+5];
char n1[200000],n2[200000];
int bfs()
} for(int j=1;j<=t;j++)
}} }
return 0;
}void work(int start)
} reverse(n1,n1+len);
int a=0;
int l=0,r=0;
while(an2[r++]=a/m+'0';
while(n1[l])
n2[r]='\0';
}int main()
} }return 0;
}
zoj1005 BFS 路徑輸出
這道題一開始就想用搜尋做,想的實際上也沒錯,因為要輸出路徑,所以我一開始使用了dfs。但發現深搜就會沿著一條路走到底,而我們只能判斷它是否達到了目標狀態。如果它不到達目標狀態可能會無限迴圈下去。所以轉而用廣搜去做這道題,但廣搜要如何儲存路徑呢?於是我想到了用結構體struct加stl裡的容器進行儲存...
HDU 1253 勝利大逃亡 bfs
題目大意 給出乙個三維迷宮的布局情況,輸入資料的第一行是乙個正整數k,表明測試資料的數量.每組測試資料的第一行是四個正整數a,b,c和t 1 a,b,c 50,1 t 1000 它們分別代表城堡的大小和魔王回來的時間.然後是a塊輸入資料 先是第0塊,然後是第1塊,第2塊.每塊輸入資料有b行,每行有c...
HDU1253 勝利大逃亡 BFS
hdu1253 勝利大逃亡 題意 在乙個三維的房間裡找到距離出口的最短路徑,比較最短路徑花的時間和魔王回來的時間 t,若小於等於t,則出逃成功。起點座標為 0,0,0 終點座標為 a 1,b 1,c 1 地圖中0為通路,1為牆。思路 典型的bfs,記錄的陣列從常見的二維擴充到了三維。依然使用佇列維護...