Submission #1070311


Source Code Expand

#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#define INF (1<<30)
using namespace std;
struct Edge {
	int a, b, cost;
	Edge() {}
	Edge(int a, int b, int cost) :a(a), b(b), cost(cost) {}
	bool operator < (Edge& o) const{
		return cost < o.cost;
	}
};
int main() {
	cin.tie(0); ios::sync_with_stdio(false);
	int N, M; cin >> N >> M;
	vector<vector<Edge>> G(N + 1);
	vector<Edge> e(N + 1);
	vector<vector<int>> dist(N + 1, vector<int>(N + 1, INF));

	//	initialize
	for (int i = 0; i < M;i++) {
		int a, b, c; cin >> a >> b >> c;
		G[a].emplace_back(Edge(a, b, c));
		G[b].emplace_back(Edge(b, a, c));

		e[i] = Edge(a, b, c);
	}
	// dist[i][j] = i-j間の最短距離
	for (int i = 1; i <= N; i++) {
		queue<int> q;
		dist[i][i] = 0;
		q.push(i);

		while (!q.empty()) {
			int n = q.front(); q.pop();
			for (auto o : G[n]) {
				int next = o.b;
				if (dist[i][n] + o.cost < dist[i][next]) {
					dist[i][next] = dist[i][n] + o.cost;
					q.push(next);
				}
			}
		}
	}
	
	int ans = M;
	for (int i = 0; i < M; i++) {
		bool f = false;
		for (int j = 1; j <= N; j++) { if (dist[j][e[i].a] + e[i].cost == dist[j][e[i].b]) f = true; }
		if (f) ans--;
	}

	cout << ans << endl;
	
}

Submission Info

Submission Time
Task D - Candidates of No Shortest Paths
User clavis1107
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1266 Byte
Status RE
Exec Time 120 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
AC × 2
AC × 8
RE × 20
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt
Case Name Status Exec Time Memory
sample_01.txt AC 3 ms 256 KB
sample_02.txt AC 3 ms 256 KB
subtask_1_01.txt AC 3 ms 256 KB
subtask_1_02.txt AC 3 ms 256 KB
subtask_1_03.txt RE 116 ms 256 KB
subtask_1_04.txt AC 3 ms 256 KB
subtask_1_05.txt RE 116 ms 256 KB
subtask_1_06.txt RE 116 ms 256 KB
subtask_1_07.txt AC 3 ms 256 KB
subtask_1_08.txt RE 116 ms 256 KB
subtask_1_09.txt AC 3 ms 256 KB
subtask_1_10.txt RE 120 ms 256 KB
subtask_1_11.txt RE 116 ms 256 KB
subtask_1_12.txt AC 3 ms 256 KB
subtask_1_13.txt AC 3 ms 256 KB
subtask_1_14.txt RE 116 ms 256 KB
subtask_1_15.txt AC 3 ms 256 KB
subtask_1_16.txt RE 115 ms 256 KB
subtask_1_17.txt RE 116 ms 256 KB
subtask_1_18.txt RE 116 ms 256 KB
subtask_1_19.txt RE 116 ms 256 KB
subtask_1_20.txt RE 115 ms 256 KB
subtask_1_21.txt RE 116 ms 256 KB
subtask_1_22.txt RE 115 ms 256 KB
subtask_1_23.txt RE 116 ms 256 KB
subtask_1_24.txt RE 116 ms 256 KB
subtask_1_25.txt RE 115 ms 256 KB
subtask_1_26.txt RE 115 ms 256 KB
subtask_1_27.txt RE 115 ms 256 KB
subtask_1_28.txt RE 116 ms 256 KB