算法训练 关联矩阵

举报
陈言必行 发表于 2021/08/14 00:02:27 2021/08/14
【摘要】 问题描述 有一个n个结点m条边的有向图,请输出他的关联矩阵。 输入格式 第一行两个整数n、m,表示图中结点和边的数目。n<=100,m<=1000。   接下来m行,每行两个整数a、b,表示图中有(a,b)边。   注意图中可能含有重边,但不会有自环。 输出格式 输出该图的关联矩阵,注意请勿改变边...

问题描述
有一个n个结点m条边的有向图,请输出他的关联矩阵。
输入格式
第一行两个整数n、m,表示图中结点和边的数目。n<=100,m<=1000。
  接下来m行,每行两个整数a、b,表示图中有(a,b)边。
  注意图中可能含有重边,但不会有自环。
输出格式
输出该图的关联矩阵,注意请勿改变边和结点的顺序。
样例输入
59
1 2
3 1
1 5
2 5
2 3
2 3
3 2
4 3
5 4
样例输出
1 -11 0 0 0 0 0 0
-1 0 0 1 1 1 -1 0 0
0 1 0 0 -1 -1 1 -1 0
0 0 0 0 0 0 0 1 -1
0 0 -1 -1 0 0 0 0 1


      
  1. import java.util.Scanner;
  2. public class Main {
  3. public static void main(String[] args) {
  4. // TODO Auto-generated method stub
  5. Scanner sc=new Scanner(System.in);
  6. while(sc.hasNext()){
  7. int n=sc.nextInt();
  8. int m=sc.nextInt();
  9. int a[][]=new int[n][m];
  10. int fp=0,tp=0;
  11. for(int i=0;i<m;i++){
  12. fp=sc.nextInt();
  13. tp=sc.nextInt();
  14. a[fp-1][i]=1;
  15. a[tp-1][i]=-1;
  16. }
  17. for(int i=0;i<n;i++){
  18. for(int j=0;j<m;j++){
  19. System.out.print(a[i][j]+" ");
  20. }
  21. System.out.println();
  22. }
  23. }
  24. sc.close();
  25. }
  26. }



注:关于矩阵小编自学了一部分,复杂一点小编就有点蒙了,,

文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/76091982

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。