題目大意:給出乙個 n * m 的矩陣,其中 ' r ' 表示遙控車,' d ' 表示目的地,' x ' 表示障礙物,每一秒都可以操控任意乙個遙控車向四個方向中的任意方向移動,不過移動必須滿足直到撞到空地的邊界、障礙物或其他遙控車後才能停止,很像小時候玩過的推冰塊遊戲。然後問,能否存在一種方法,使得在第 k 分鐘時使得任意乙個遙控車到達任意乙個目的地
題目分析:因為所有資料都很小,我們不妨計算一下dfs爆搜的時間複雜度,至多有 4 個遙控車,每個遙控車有 4 個方向,也就是說每一秒鐘有 4 * 4 = 16 種情況,時間 k 至多只有 5 秒,也就是說時間複雜度為 16^5 ,1e6 左右,這樣直接模擬就好了
這個題目主要是為了紀念一下第一次自己動手寫dfs,並且 1a 的題目吧
**:
#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
typedef long long ll;
typedef unsigned long long ull;
const ll inf=0x3f3f3f3f;
const int n=15;
const int b[4][2]=;
int n,m,k;
char maze[n][n];
bool vis[n][n];
vector>pos;
bool check()
bool dfs(int step)
maze[x][y]='r';
pos[i].first=x,pos[i].second=y;
if(dfs(step-1))
return true;
pos[i].first=sx,pos[i].second=sy;
maze[x][y]='.';
maze[sx][sy]='r';
} return false;
}int main()
if(dfs(k))
puts("yes");
else
puts("no");
return 0;
}
企業車輛排程系統
商用車排程監控管理系統指運輸公司對車隊進行管理的系統,包括車輛跟蹤定位 定時定距監控 實時排程 軌跡回放 故障診斷 違章違規提醒 駕駛員行為和車隊管理軟體等方面。主要功能包括 1 實時查詢車輛的位置和行駛資料資訊 對於所查詢車輛的選擇可以按單輛車 分組或全部車輛進行,選中車輛的實時位置資訊和行駛資料...
物資的排程 DFS
problem description 某地區發生了 災區已經非常困難,災民急需一些帳篷,衣物,食品和血漿等物資。可通往災區的道路到處都是塌方,70 以上的路面損壞,橋梁全部被毀。國家立即啟動應急預案,展開史上最大強度的非作戰式的空運行動,準備向災區投放急需物資。一方有難,八方資源。現在已知有n個地...
牛客 樹(dfs序)
這題的思路很精妙,因為我們發現每個點有兩種選擇,一種是塗新的顏色,一種是塗原來出現的顏色 如果按樹形dp的方法做,很難做,因為無法判斷點之間的路徑以及存在的顏色關係。因此想到使用dfs序的方式,轉化成鏈式 這樣該節點塗色之前父親節點也被塗色。而新顏色可以隨便選,原來的顏色必須和父親節點的顏色一樣 i...