一位博主寫了ac**,但是無論是廣度bfs還是深度dfs,都會報錯,dfs是執行超時,bfs是答案錯誤。傳送門:
另一位博主使用了dfs**,有興趣可以看下,沒有檢驗是否正確,傳送門:
根據前位博主的bfs**,做了幾項修改,然後用自己的**找錯前位博主,發現找不出來,有興趣的小夥伴可以試下,找一下前位博主的錯誤。當然雖然ac了,但是自己打的**,稍有不懂,如果能夠說出這裡這樣寫**的原理,也是十分感謝的。
ac**:
#include#include#include#includeusing namespace std;
const int m=110;
int n,m,k,d,ans=0;
int t,v,x,y;
char dirx;
int dir[5][2]=;
bool vis[1000][m][m];
char soldier[m][m];
bool in(int x,int y)
struct node
};void bfs()
for(int i=0;i<5;i++)
}} return;
}void signvis() }}
} else if(dirx == 's') }}
} else if(dirx == 'w') }}
} else if(dirx == 'e') }}
}} int main()
bfs();
if(ans==0)
cout<
else
cout<
return 0;
}
計蒜客習題 朋友
在社交的過程中,通過朋友,也能認識新的朋友。在某個朋友關係圖中,假定 a 和 b 是朋友,b 和 c 是朋友,那麼 a 和 c 也會成為朋友。即,我們規定朋友的朋友也是朋友。現在,已知若干對朋友關係,詢問某兩個人是不是朋友。請編寫乙個程式來解決這個問題吧。輸入格式 第一行 三個整數 n,m,p n ...
計蒜客習題 蒜廠年會
蒜廠要開年會了,所有的員工都要參加。每兩個員工之間都有乙個親密度。在同乙個專案工作過的員工之間的親密度為 1。如果 a 和 b b 和 c 均在同乙個專案中工作過,而 a 和 c 沒有,那麼 a 和 c 之間的親密度為 1 1 2。同理,如果 a 和 b 之間的親密度為 x,b 和 c 之間的親密度...
計蒜客習題 撿水果
3 1 26 2 3 3 5 4 1這是乙個高度為 4 的山,數字代表水果的能量。每次下乙個高度,蒜頭需要選擇是往左下走,還是往右下走。例如 對於上圖的情況,蒜頭能獲得的最大能量為,3 1 6 5 15。現在,蒜頭希望你能幫他計算出下山能獲得的最大能量。輸入格式 第一行輸入乙個 n,代表山的高度。1...