zoj 3596 BFS 大數簡單運算

2021-08-03 10:35:55 字數 796 閱讀 8008

/*

題意: 能否找到乙個數,只由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,記錄的陣列從常見的二維擴充到了三維。依然使用佇列維護...