Submission #2716680


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <cmath>

using namespace std;

#define REP(i,n) for (int i=0;i<(n);++i)
#define REP2(i,n) for (int i=0;i<=(n);++i)
#define REP3(i,n) for (int i=1;i<=(n);++i)

static const int MAXN = 1001;
static const int MAXM = 1001;
static const int INF = 1e5;

int N, M;
int G[MAXN][MAXN];

int a[MAXM],b[MAXM];

int dist[MAXN][MAXN];

int main() {

	REP(i, MAXN) {
		REP(j, MAXN) {
			G[i][j] = INF;
		}
	}

	cin >> N >> M;
	REP(i, M) {
		int ai,bi,ci;
		cin >> ai >> bi >> ci;
		G[ai][bi] = ci;
		G[bi][ai] = ci;
		a[i] = ai;
		b[i] = bi;
	}

	//Dijkstra's Algorithm
	REP3(i, N) {
		int color[MAXN];//white=1,gre=2,black=3
		int p[MAXN];
		REP3(j, N) {
			dist[i][j] = INF;
			color[j] = 1;
		}
		dist[i][i] = 0;
		p[i] = -1;

		while (true) {
			int mincost,u;
			mincost = INF;
			REP3(j, N) {
				if ((color[j] != 3) && (dist[i][j] < mincost)) {
					mincost = dist[i][j];
					u = j;
				}
			}

			if (mincost == INF) {
				break;
			}

			color[u] = 3;

			REP3(j, N) {
				if ((color[j] != 3) && (G[u][j] < INF)) {
					if (dist[i][u] + G[u][j] < dist[i][j]) {
						dist[i][j] = dist[i][u] + G[u][j];
						p[j] = u;
						color[j] = 2;
					}
				}
			}
		}

	}

	/*
	REP3(i, N) {
		REP3(j, N) {
			cout << i << " " << j << " " << dist[i][j] << endl;
  		}
	}
	*/

	int res,tmp;
	res = 0;

	REP(i, M) {
		tmp = 0;
		REP3(j, N) {
			if ((dist[j][b[i]] == dist[j][a[i]] + G[a[i]][b[i]]) && (j != b[i])) {
				++tmp;
			}
		}
		if (tmp == 0)++res;
	}
	
	cout << res << endl;

	int end;
	cin >> end;

	return 0;
}

Submission Info

Submission Time
Task D - Candidates of No Shortest Paths
User A2017
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1724 Byte
Status AC
Exec Time 11 ms
Memory 6400 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 2
AC × 30
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, 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 6016 KB
sample_02.txt AC 3 ms 6016 KB
subtask_1_01.txt AC 3 ms 6144 KB
subtask_1_02.txt AC 3 ms 6272 KB
subtask_1_03.txt AC 5 ms 6400 KB
subtask_1_04.txt AC 5 ms 6400 KB
subtask_1_05.txt AC 10 ms 6400 KB
subtask_1_06.txt AC 3 ms 6144 KB
subtask_1_07.txt AC 4 ms 6272 KB
subtask_1_08.txt AC 6 ms 6400 KB
subtask_1_09.txt AC 6 ms 6400 KB
subtask_1_10.txt AC 7 ms 6400 KB
subtask_1_11.txt AC 3 ms 6144 KB
subtask_1_12.txt AC 4 ms 6272 KB
subtask_1_13.txt AC 7 ms 6400 KB
subtask_1_14.txt AC 9 ms 6400 KB
subtask_1_15.txt AC 7 ms 6400 KB
subtask_1_16.txt AC 3 ms 6144 KB
subtask_1_17.txt AC 3 ms 6144 KB
subtask_1_18.txt AC 4 ms 6144 KB
subtask_1_19.txt AC 4 ms 6272 KB
subtask_1_20.txt AC 3 ms 6144 KB
subtask_1_21.txt AC 3 ms 6144 KB
subtask_1_22.txt AC 4 ms 6272 KB
subtask_1_23.txt AC 4 ms 6144 KB
subtask_1_24.txt AC 9 ms 6400 KB
subtask_1_25.txt AC 5 ms 6272 KB
subtask_1_26.txt AC 7 ms 6400 KB
subtask_1_27.txt AC 11 ms 6400 KB
subtask_1_28.txt AC 6 ms 6400 KB