View Code of Problem 3818

#include <stdio.h>

int main() {
	int n, m, k;
	int a, b, value;
	int p, q;
	while (scanf("%d %d %d", &n, &m, &k) != EOF) {
		int x[100][100] = { 0 };
		for (int i = 0;i < 100;i++) {
			for (int j = 0;j < 100;j++) {
				x[i][j] = 99999;
			}
		}
		while (m--) {
			scanf("%d %d %d", &a, &b, &value);
			x[a][b] = value;
		}
		for (int k = 0;k < n;k++) {
			for (int i = 0;i < n;i++) {
				for (int j = 0;j < n;j++) {
					if (x[i][j] > x[i][k] + x[k][j]) {
						x[i][j] = x[i][k] + x[k][j];
					}
				}
			}
		}
		while (k--) {
			scanf("%d %d", &p, &q);
			printf("%d\n", x[p][q]);
		}
	}
}

Double click to view unformatted code.


Back to problem 3818