您的位置:首页 > 文旅 > 美景 > 今天丹阳疫情_韩国网站后缀_10常用的网络营销方法_数据分析师资格证书怎么考

今天丹阳疫情_韩国网站后缀_10常用的网络营销方法_数据分析师资格证书怎么考

2025/2/13 10:08:32 来源:https://blog.csdn.net/zqystca/article/details/145493582  浏览:    关键词:今天丹阳疫情_韩国网站后缀_10常用的网络营销方法_数据分析师资格证书怎么考
今天丹阳疫情_韩国网站后缀_10常用的网络营销方法_数据分析师资格证书怎么考

B3862 图的遍历(简单版) - 洛谷 | 计算机科学教育新生态

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N = 1e5+10;
int head[N];
int tot;
int n,m;
int pos;
bool vis[N];
struct Edge{int next;int to;
}e[N];
void init()
{for(int i = 1 ; i <= n ; i++)head[i] = -1;
}
void add(int u,int v)
{++tot;e[tot].next = head[u];e[tot].to = v;head[u] = tot;
}
void dfs(int current)
{if(current > pos)pos = current;int k = head[current];//取出连接第一条边的信息 while(k != -1){int to = e[k].to;//指向的点int temp = head[to];//链表to点连接第一条边 if(vis[to] == false){	vis[to] = true;dfs(to);}k = e[k].next;}
}
int main(void)
{cin >> n >> m;init();for(int i = 1 ; i <= m ; i++){int u,v;cin >> u >> v;add(u,v);}for(int i = 1 ; i <= n ; i++){memset(vis,false,sizeof(vis));vis[i] = true;pos = i;dfs(i);cout << pos << " "; }return 0;
}

P3916 图的遍历 - 洛谷 | 计算机科学教育新生态

90分

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N = 1e5+10;
int head[N];
int tot;
int n,m;
int pos;
bool vis[N];
struct Edge{int next;int to;
}e[N];
void init()
{for(int i = 1 ; i <= n ; i++)head[i] = -1;
}
void add(int u,int v)
{++tot;e[tot].next = head[u];e[tot].to = v;head[u] = tot;
}
void dfs(int current)
{if(current > pos)pos = current;int k = head[current];//取出连接第一条边的信息 while(k != -1){int to = e[k].to;//指向的点int temp = head[to];//链表to点连接第一条边 if(vis[to] == false){	vis[to] = true;dfs(to);}k = e[k].next;}
}
int main(void)
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n >> m;init();for(int i = 1 ; i <= m ; i++){int u,v;cin >> u >> v;add(u,v);}for(int i = 1 ; i <= n ; i++){memset(vis,false,sizeof(vis));vis[i] = true;pos = i;dfs(i);cout << pos << " "; }return 0;
}

100分

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N = 1e5+10;
int head[N];
int tot;
int n,m;
int pos;
bool vis[N];
int ans[N];
struct Edge{int next;int to;
}e[N];
void init()
{for(int i = 1 ; i <= n ; i++)head[i] = -1;
}
void add(int u,int v)
{++tot;e[tot].next = head[u];e[tot].to = v;head[u] = tot;
}
void dfs(int current,int maxpos)
{if(vis[current] == false)ans[current] = maxpos;vis[current] = true;int k = head[current];while(k != -1){int to = e[k].to;//指向的点int temp = head[to];//链表to点连接第一条边 if(vis[to] == false){	ans[to] = maxpos;vis[to] = true;dfs(to,maxpos);}k = e[k].next;}
}
int main(void)
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n >> m;init();for(int i = 1 ; i <= m ; i++){int u,v;cin >> u >> v;add(v,u);//方向建立边 }for(int i = n ; i >= 1 ; i--){dfs(i,i); }for(int i = 1 ; i <= n ; i++)cout << ans[i] << " ";return 0;
}

P1700 [USACO19OPEN] Milk Factory B - 洛谷 | 计算机科学教育新生态

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N = 1e5+10;
int head[N];
int ans = 1e9;
int cnt;
int tot;
int n;
bool vis[N];
struct Edge{int next;int to;
}e[N];
bool found;
void add(int u,int v)
{tot++;e[tot].next = head[u];e[tot].to = v;head[u] = tot;
}
void dfs(int current)
{vis[current] = true;cnt++;int k = head[current];while(k != -1){int to = e[k].to;if(vis[to] == false){vis[to] = true;dfs(to);}k = e[k].next;}
}
int main(void)
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n;for(int i = 1 ; i <= n ; i++)head[i] = -1;for(int i = 1 ; i <= n-1 ; i++){int u,v;cin >> u >> v;add(v,u);//反向建立边}for(int i = 1 ; i <= n ; i++){cnt = 0;memset(vis,false,sizeof(vis));dfs(i);if(cnt == n){found = true;ans = min(ans,i);}}if(found)cout << ans;elsecout << -1;return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com