2016蓝桥杯算法训练——关联矩阵
2016-03-14 13:10
295 查看
算法训练 关联矩阵
问题描述
有一个n个结点m条边的有向图,请输出他的关联矩阵。
输入格式
第一行两个整数n、m,表示图中结点和边的数目。n<=100,m<=1000。
接下来m行,每行两个整数a、b,表示图中有(a,b)边。
注意图中可能含有重边,但不会有自环。
输出格式
输出该图的关联矩阵,注意请勿改变边和结点的顺序。
样例输入
5 9
1 2
3 1
1 5
2 5
2 3
2 3
3 2
4 3
5 4
样例输出
1 -1 1 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
代码:
问题描述
有一个n个结点m条边的有向图,请输出他的关联矩阵。
输入格式
第一行两个整数n、m,表示图中结点和边的数目。n<=100,m<=1000。
接下来m行,每行两个整数a、b,表示图中有(a,b)边。
注意图中可能含有重边,但不会有自环。
输出格式
输出该图的关联矩阵,注意请勿改变边和结点的顺序。
样例输入
5 9
1 2
3 1
1 5
2 5
2 3
2 3
3 2
4 3
5 4
样例输出
1 -1 1 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
代码:
import java.util.Scanner; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n = in.nextInt(); int m = in.nextInt(); int[][] temp = new int[105][1005]; for (int i = 1; i <=m; i++) { int a = in.nextInt(); int b = in.nextInt(); temp[a][i] = 1; temp[b][i] = -1; } for (int i = 1; i <=n; i++) { System.out.print(temp[i][1] + " "); for (int j = 2; j <=m; j++) { System.out.print(temp[i][j] + " "); } System.out.println(); } } }
相关文章推荐
- 架构的本质
- android 遇到的一个小问题
- 第三篇:更新异常与规范化设计
- 微软全面发起大数据攻势,加入1.6万亿数据红利争夺战
- 哈理工oj/hrbust 1492 盒子【最大二分匹配】
- 下拉框内容太多,一个带搜索功能的下拉输入框实现
- iOS 视频播放
- 安装boost
- 110. Balanced Binary Tree
- 108. Convert Sorted Array to Binary Search Tree
- 107. Binary Tree Level Order Traversal II
- BZOJ3729: Gty的游戏
- 欧拉项目第14题 Longest Collatz sequence
- 104. Maximum Depth of Binary Tree(递归)
- 101. Symmetric Tree
- 100. Same Tree
- 94. Binary Tree Inorder Traversal
- 线程编程时,需要注意的
- PHP 数组
- 网络设备文件管理