邻接矩阵表示法创建无向图

邻接矩阵表示法创建无向图

采用邻接矩阵表示法创建无向图G ,依次输出各顶点的度。

输入格式:
输入第一行中给出2个整数i(0<i≤10),j(j≥0),分别为图G的顶点数和边数。 输入第二行为顶点的信息,每个顶点只能用一个字符表示。 依次输入j行,每行输入一条边依附的顶点。

输出格式:
依次输出各顶点的度,行末没有最后的空格。
输入样例:

5 7
ABCDE
AB
AD
BC
BE
CD
CE
DE

输出样例:

2 3 3 3 3

vector map set基础使用

零阶矩阵法

#include<iostream>
#include<algorithm>
#include<cstring>

using namespace std;
const int N = 10000;

int n,m;
int g[N][N];
char str[15],st[3];
int find(int x)
{
    int cont=0;
    for(int i=0;i<n;i++)
    {
        int y=str[i];
        if(g[x][y]==1)
            cont++;
    }
    return cont;
}
int main()
{
    cin>>n>>m;

    cin>>str;
    for(int i=0;i<m;i++)
    {
        cin>>st;
        int x=st[0];
        int y=st[1];
        g[x][y]=1;
        g[y][x]=1;
    }
    cout<<find(str[0]);
    for(int i=1;i<n;i++)
        cout<<' '<<find(str[i]);
    return 0;
}


考试就该这么作做

#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
using namespace std;
map<char,int> q;
int n,m;

int main()
{
    cin>>n>>m;
    char str[15],st[3];
    cin>>str;
    for(int i=0;i<m;i++)
    {
        cin>>st;
        q[st[0]]++;
        q[st[1]]++;
    }
    cout<<q[str[0]];
    for(int i=1;i<n;i++)
        cout<<' '<<q[str[i]];
    return 0;
}
posted @   三枪一个麻辣烫  阅读(159)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示