根据输入画有向图
Posted Keep--Silent
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据输入画有向图相关的知识,希望对你有一定的参考价值。
文章目录
解释
直接根据输入画一个mermaid
源码
#include <bits/stdc++.h>
using namespace std;
int main()
int m, j,v,w,x;
map<int, map<int, int> >g;
cin >> m;
while (m--)
cin >> v >> w >> x;
g[v][w] = x;
//g[w][v]=x;
set<int>st;
vector<int>t(3, 0);
vector<vector<int>>vt;
for (auto p1:g)
st.insert(p1.first);
for (auto p2 : p1.second)
st.insert(p2.first);
vt.push_back(vector<int>p1.first,p2.first,p2.second);
printf("```mermaid\\ngraph TD\\n");
for (auto x : st)
printf("%d([%d])\\n",x,x);
for (auto v : vt)
printf("\\t%d -->|%d| %d\\n",v[0],v[2],v[1]);
printf("```\\n");
return 0;
输入输出
7
1 2 2
1 5 1
2 3 1
2 4 1
2 5 2
3 5 1
3 4 1
```mermaid
graph TD
1([1])
2([2])
3([3])
4([4])
5([5])
1 -->|2| 2
1 -->|1| 5
2 -->|1| 3
2 -->|1| 4
2 -->|2| 5
3 -->|1| 4
3 -->|1| 5
```
效果
#include <bits/stdc++.h>
using namespace std;
int main()
int m, j;
string x,v,w;
vector<vector<string>>vs;
cin >> m;
while (m--)
cin>>v>>w>>x;
vs.push_back(vector<string>v,w,x);
printf("```mermaid\\ngraph TD\\n");
for (auto v : vs)
printf(" %s -->|%s| %s\\n",v[0].c_str(),v[2].c_str(),v[1].c_str());
printf("```\\n");
return 0;
以上是关于根据输入画有向图的主要内容,如果未能解决你的问题,请参考以下文章
20182331 2019-2020-1 《数据结构与面向对象程序设计》实验九报告