AtCoder ABC 016 A&B&C AtCoder - 016
	private void solveA() {
		int m = nextInt();
		int d = nextInt();
		out.print(m % d == 0 ? "YES" : "NO");
	}
B - A±B Problem
	private void solveB() {
		int a = nextInt();
		int b = nextInt();
		int c = nextInt();
		boolean p = a + b == c;
		boolean m = a - b == c;
		if (p && m) {
			out.println("?");
		} else if (!p && !m) {
			out.println("!");
		} else if (p && !m) {
			out.println("+");
		} else if (!p && m) {
			out.println("-");
		}
	}
--Trouver la distance entre les sommets du graphe non orienté
Il est temps d'apprendre à le résoudre autrement que par la méthode Worshall Floyd. .. ..
	private void solveC() {
		int n = nextInt();
		int m = nextInt();
		int[] a = new int[m];
		int[] b = new int[m];
		int[][] graph = new int[n][n];
		for (int i = 0; i < n; i++) {
			//Remplissez avec MAX
			Arrays.fill(graph[i], Integer.MAX_VALUE / 2);
			//Le coût du déménagement est de 0
			graph[i][i] = 0;
		}
		for (int i = 0; i < m; i++) {
			a[i] = nextInt() - 1;
			b[i] = nextInt() - 1;
			//Créer une matrice adjacente
			graph[a[i]][b[i]] = 1;
			graph[b[i]][a[i]] = 1;
		}
		//Méthode Worshall Floyd
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				for (int k = 0; k < n; k++) {
					graph[j][k] = Integer.min(graph[j][k], graph[j][i] + graph[i][k]);
				}
			}
		}
		/*
		 *Frais de voyage de vous-même
		 * 1=ami
		 * 2=Un ami d'un ami
		 * 3=L'ami de l'ami d'un ami
		 * 4=Amis d'amis Amis d'amis ...
		 *Suite ci-dessous
		 */
		for (int i = 0; i < graph.length; i++) {
			int res = 0;
			for (int j = 0; j < graph.length; j++) {
				res += graph[i][j] == 2 ? 1 : 0;
			}
			out.println(res);
		}
	}
        Recommended Posts