uva247-Calling Circles-Floyd算法
来源:互联网 发布:开淘宝怎么上传宝贝 编辑:程序博客网 时间:2024/05/18 00:00
题意:求出每个电话圈里的人。
思路:Floyd, dfs,同时STL存。
代码:
#include <bits/stdc++.h>using namespace std;map<string,int> mp; //给每个名字编号vector<string> v; //存名字int d[30][30];int vis[30]; //判断是否扫过int n;void dfs(int i){ vis[i] = 1; for (int j = 0; j<n; j++) { if (d[i][j] && d[j][i] && !vis[j]) { printf(", "); cout << v[j]; dfs(j); } }}int main(){ int m, times = 0; string s1, s2; while (scanf("%d%d", &n, &m) && n && m) { int id = 0; memset(d, 0, sizeof d); memset(vis, 0, sizeof vis); mp.clear();v.clear(); for (int i=0; i<m ;i++) { cin >> s1 >> s2; if (!mp.count(s1)) { mp[s1] = id++; v.push_back(s1); } if (!mp.count(s2)) { mp[s2] = id++; v.push_back(s2); } int x = mp[s1], y = mp[s2]; d[x][y] = 1; //s1 对 s2 为 1 } //Floyd for (int k=0; k<n; k++) for (int i=0; i<n; i++) for (int j=0; j<n; j++) d[i][j] = d[i][j]||(d[i][k]&&d[k][j]); //传递闭包 if (times) puts(""); printf("Calling circles for data set %d:\n", ++times); //dfs for (int i=0; i<n; i++) { if (!vis[i]) { cout << v[i]; dfs(i); puts(""); } } } return 0;}
0 0
- uva247-Calling Circles-Floyd算法
- Uva247.Calling Circles(Floyd求连通性)
- UVa247 - Calling Circles
- UVA247- Calling Circles
- UVa247 Calling Circles
- UVa247: Calling Circles 题解
- Uva247——Calling Circles
- UVA - 247 - Calling Circles(floyd算法)
- uva247 - Calling Circles(传递闭包+DFS)
- 算法竞赛入门经典 第二版 例题11-4 电话圈 Calling Circles uva247
- 电话圈(Calling Circles,ACM/ICPC World Finals 1996,UVA247) ——Floyd图的传递闭包
- UVA 247 Calling Circles(Floyd算法传递闭包)
- UVA247- Calling Circles(有向图的强连通分量)
- [Uva247][Tarjan求强连通分量][Calling Circles]
- UVA247 Calling Circles (有向图传递闭包)
- UVa - 247 Calling Circles(Floyd - TC)
- UVA247[Calling Circles] Floyed求传递闭包 || tarjan求SCC
- Calling Circles
- 【幻化万千戏红尘】qianfengDay27-HttpURLConnection,OkHttpClient,,多线程下载且断点续传基础学习:
- NOIP提高组2013-货车运输
- javaWeb文件以及图片上传smartupload工具类的使用
- QString与编码 QString 与中文问题
- Tyvj P1062 合并傻子
- uva247-Calling Circles-Floyd算法
- 观察者设计模式
- 华为笔试题
- 好好学习天天向上
- hdu5855 Less Time, More profit 【最大流-最大权闭合子图】
- android Handler控制进度条(ProgressBar)实例
- Codeforces B. Escape
- android 音频编解码1
- 关于静态代码块,非静态代码块,构造函数的多态表现问题