顶点的度 (20 分) Java解法
顶点的度
顶点的图。给定一个有向图,输出各顶点的出度和入度。
输入格式:
输入文件中包含多个测试数据,每个测试数据描述了一个无权有向图。每个测试数据的第一行为两个正整数n 和m,1 ≤ n ≤ 100,1 ≤ m ≤ 500,分别表示该有向图的顶点数目和边数,顶点的序号从1 开始计起。接下来有m 行,每行为两个正整数,用空格隔开,分别表示一条边的起点和终点。每条边出现一次且仅一次,图中不存在自身环和重边。输入文件最后一行为0 0,表示输入数据结束。
输出格式:
对输入文件中的每个有向图,输出两行:第1 行为n 个正整数,表示每个顶点的出度;第2行也为n 个正整数,表示每个顶点的入度。每两个正整数之间用一个空格隔开,每行的最后一个正整数之后没有空格。
输入样例:
7 9
1 2
2 3
2 5
2 6
3 5
4 3
5 2
5 4
6 7
0 0
输出样例:
1 3 1 1 2 1 0
0 2 2 1 2 1 1
代码:
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int v,e;
        int in,out;
        while(true){
            v = sc.nextInt();
            e = sc.nextInt();
            if(v==0&&e==0)
                break;
            Graph g = new Graph(v,e);
            for(int i=0;i<e;i++){
                in = sc.nextInt();
                out = sc.nextInt();
                g.insertEdge(in,out);
            }
            for(int i=0;i<v;i++){
                if(i!=0)
                    System.out.print(" ");
                System.out.print(g.outDegree(i));
            }
            System.out.print("\n");
            for(int i=0;i<v;i++){
                if(i!=0)
                    System.out.print(" ");
                System.out.print(g.inDegree(i));
            }
            System.out.print("\n");
        }
    }
}
class Graph{
    private int vertex;
    private int edge;
    private int graph[][];
    Graph(int v,int e){
        vertex = v;
        edge = e;
        graph = new int[v][v];
        for(int i=0;i<v;i++){
            for(int j=0;j<v;j++){
                graph[i][j]=0;
            }
        }
    }
    void insertEdge(int in,int out){
        graph[in-1][out-1] = 1;
    }
    int outDegree(int theVertex){
        int cnt=0;
        for(int i=0;i<vertex;i++){
            cnt += graph[theVertex][i];
        }
        return cnt;
    }
    int inDegree(int theVertex){
        int cnt=0;
        for(int i=0;i<vertex;i++){
            cnt += graph[i][theVertex];
        }
        return cnt;
    }
}
顶点的度 (20 分) Java解法的更多相关文章
- PTA 6-1 求采用邻接矩阵作为存储结构的无向图各顶点的度 (6分)
		PTA 6-1 求采用邻接矩阵作为存储结构的无向图各顶点的度 (6分) 函数接口定义: 函数接口为: void dgree(MGraph G); G为采用邻接矩阵作为存储结构的有向图 裁判测试程序样例 ... 
- L1-027 出租 (20 分) java题解
		下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声,急问这个怎么破.其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对 ... 
- L1-023 输出GPLT (20 分) java题解 GPLT天梯赛防坑技巧
		上题目先 给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其它字符.当然,四种字符(不区分大小写)的个数不一定是一样多的 ... 
- 1002 写出这个数 (20 分) java解题
		读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10^100. 输出格式: 在一行内输 ... 
- pat 1065 A+B and C (64bit)(20 分)(大数, Java)
		1065 A+B and C (64bit)(20 分) Given three integers A, B and C in [−263,263], you are supposed t ... 
- PAT(B) 1018 锤子剪刀布(C:20分,Java:18分)
		题目链接:1018 锤子剪刀布 分析 用一个二维数组保存两人所有回合的手势 甲乙的胜,平,负的次数刚好相反,用3个变量表示就可以 手势单独保存在signs[3]中,注意顺序.题目原文:如果解不唯一,则 ... 
- PTA 01-复杂度1 最大子列和问题 (20分)
		题目地址 https://pta.patest.cn/pta/test/15/exam/4/question/709 5-1 最大子列和问题 (20分) 给定KK个整数组成的序列{ N_1N1 ... 
- L1-049 天梯赛座位分配 (20 分)
		L1-049 天梯赛座位分配 (20 分)(Java解法) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所 ... 
- PTA 7-2 邻接表创建无向图 (20分)
		PTA 7-2 邻接表创建无向图 (20分) 采用邻接表创建无向图G ,依次输出各顶点的度. 输入格式: 输入第一行中给出2个整数i(0<i≤10),j(j≥0),分别为图G的顶点数和边数. 输 ... 
随机推荐
- ubuntu12.04通过Ganglia利用NVML模块进行GPU监控
			1.安装Ganglia,这里安装的是3.1*版本,因为监控GPU的模块只支持3.1*版本系列的 apt-get install ganglia* 2.下载并安装PyNVML和NVML模块,下载地址ht ... 
- go14--并发concurrency,Goroutine ,channel
			package main /** 并发concurrency 很多人都是冲着 Go 大肆宣扬的高并发而忍不住跃跃欲试,但其实从 源码的解析来看,goroutine 只是由官方实现的超级“线程池”而已. ... 
- Android 修改开机动画(bootanimation)【转】
			本文转载自:http://blog.csdn.net/u012301841/article/details/51598115 Android 系统自带的开机动画,是一个白色的 “android” 文字 ... 
- ubuntu安装virtualbox
			1.下载 2.sudo dpkg -i virtualbox-5.2_5.2.10-122088_Ubuntu_xenial_amd64.deb $sudo dpkg -i virtualbox-5. ... 
- USACO Section 1.2PROB Miking Cows
			贪心做过去,先对每个时间的左边点进行排序,然后乱搞,当然线段树也可以做 /* ID: jusonal1 PROG: milk2 LANG: C++ */ #include <iostream&g ... 
- bzoj4031 [HEOI2015]小Z的房间——矩阵树定理
			题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4031 矩阵树定理的模板题(第一次的矩阵树定理~): 有点细节,放在注释里了. 代码如下: # ... 
- 数据读进set,进行后处理
			#include <iostream> #include <vector> #include <cstddef> #include <string> # ... 
- 洛谷 P4180 【模板】严格次小生成树[BJWC2010]【次小生成树】
			严格次小生成树模板 算法流程: 先用克鲁斯卡尔求最小生成树,然后给这个最小生成树树剖一下,维护边权转点权,维护最大值和严格次大值. 然后枚举没有被选入最小生成树的边,在最小生成树上查一下这条边的两端点 ... 
- codevs1669(dfs)子集和目标值
			1692 子集和的目标值 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 给定n个整数in和目标值T,求某一非空子集 ... 
- Spark之RDD的定义及五大特性
			RDD是分布式内存的一个抽象概念,是一种高度受限的共享内存模型,即RDD是只读的记录分区的集合,能横跨集群所有节点并行计算,是一种基于工作集的应用抽象. RDD底层存储原理:其数据分布存储于多台机器上 ... 
