NOJ 20 吝啬的国度
生活随笔
收集整理的這篇文章主要介紹了
NOJ 20 吝啬的国度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? 開始做深搜的題,這是一種比較常見的遞歸,就是直接看去的點是從那來的,標記一下避免重復搜。
深搜的注意個人認為,1,要在一定范圍內一般是在遞歸在1e4的范圍內;
??? 2,就是要注意標記,不然也可能導致超時的;3,就是不要遞歸混亂了,最后就是=-=用數組存放好。盡量思路要清楚。
#include <stdio.h> #include <string.h> #include <vector> #include <algorithm> using namespace std; const int mx=1e6; int a[mx]; vector <int> m[mx]; void dfs(int x) {for(int i=0;i<m[x].size();i++){if(a[m[x][i]]==0){a[m[x][i]]=x;dfs(m[x][i]);}} } int main() {int t,n, s,x,y;scanf("%d", &t);while(t--){scanf("%d%d", &n,&s);memset(a,0, sizeof(a));a[s]=-1;for(int i=0; i<=n;i++)m[i].clear();for(int i =1; i<n; i++){scanf("%d%d", &x, &y);m[x].push_back(y);m[y].push_back(x);}dfs(s);for(int i =1; i<n; i++){printf("%d ",a[i]);}printf("%d\n", a[n]);}return 0; }
?
總結
以上是生活随笔為你收集整理的NOJ 20 吝啬的国度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NOj 720项目安排
- 下一篇: Hu 4639 hehe