根据输入画有向图

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
	 ```

效果

2 1 1 1 2 1 1 1 2 3 4 5 2 1 1 1 2 1 1 1 2 3 4 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 《数据结构与面向对象程序设计》实验九报告

20202307 实验九《图》实验报告

20182332 《数据结构与面向对象程序设计》实验九报告

20182323 2019-2020-1 《数据结构与面向对象程序设计》实验九报告

20182318 2019-2020-1 《数据结构与面向对象程序设计》实验九报告