Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class GraphCreate {
- public static void main(String[] args) {
- Scanner scan = new Scanner(System.in);
- int n = scan.nextInt();
- scan.next();
- int nodes = scan.nextInt();
- Graph graph = new Graph(nodes);
- for (int i=0; i<n; ++i) {
- String line = scan.nextLine();
- String parts[] = line.split(" ");
- switch(parts[0]) {
- case "ADDEDGE": graph.addEdge(Integer.parseInt(parts[1]), Integer.parseInt(parts[2]));
- break;
- case "DELETEEDGE": graph.deleteEdge(Integer.parseInt(parts[1]), Integer.parseInt(parts[2]));
- break;
- case "ADJACENT": System.out.println(graph.adjacent(Integer.parseInt(parts[1]), Integer.parseInt(parts[2])));
- break;
- case "PRINTMATRIX": graph.printMatrix();
- break;
- case "PRINTNODE": System.out.println(graph.get_node_value(Integer.parseInt(parts[1])));
- }
- }
- }
- }
- class Graph {
- int num_nodes; // broj na jazli
- Character nodes[]; // informacija vo jazlite - moze i ne mora?
- int adjMat[][]; // matrica na sosednost
- @SuppressWarnings("unchecked")
- public Graph(int num_nodes) {
- this.num_nodes = num_nodes;
- nodes = new Character[num_nodes];
- for (int i=0; i< num_nodes; ++i)
- nodes[i] = (char)(i + 'A');
- adjMat = new int[num_nodes][num_nodes];
- for(int i=0;i<this.num_nodes;i++)
- for(int j=0;j<this.num_nodes;j++)
- adjMat[i][j]=0;
- }
- int adjacent(int x,int y)
- { // proveruva dali ima vrska od jazelot so indeks x do jazelot so indeks y
- return (adjMat[x][y]!=0)?1:0;
- }
- void addEdge(int x,int y)
- { // dodava vrska megu jazlite so indeksi x i y
- adjMat[x][y]=1;
- adjMat[y][x]=1;
- }
- void deleteEdge(int x,int y)
- {
- // ja brise vrskata megu jazlite so indeksi x i y
- adjMat[x][y]=0;
- adjMat[y][x]=0;
- }
- // Moze i ne mora?
- Character get_node_value(int x)
- { // ja vraka informacijata vo jazelot so indeks x
- return nodes[x];
- }
- // Moze i ne mora?
- void set_node_value(int x, Character a)
- { // ja postavuva informacijata vo jazelot so indeks na a
- nodes[x]=a;
- }
- public int getNum_nodes() {
- return num_nodes;
- }
- public void setNum_nodes(int num_nodes) {
- this.num_nodes = num_nodes;
- }
- void printMatrix() {
- for (int i=0; i < adjMat.length; ++i) {
- for (int j=0; j < adjMat[0].length; ++j)
- System.out.print(adjMat[i][j] + " ");
- System.out.println();
- }
- }
- }
Add Comment
Please, Sign In to add comment