Submission #1243175


Source Code Expand

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

const int INF = 10000000;
int N, M;
int  G[101][101];
int dist[101][101];
int a[1001],b[1001],c[1001];
int ans;

void d_init () {
  for(int i = 0; i < N; i++) {
    for(int j = 0; j < N; j++) {
      dist[i][j] = INF;
    }
  }

  for(int i = 0; i < N; i++) {
    dist[i][i] = 0;
  }

  for(int i = 0; i < N; i++) {
    for(int j = 0; j < N; j++) {
      if(G[i][j]) dist[i][j] = G[i][j];
    }
  }
}

int main() {
  cin >> N >> M;
  for(int i = 0; i < M; i++) {
    cin >> a[i] >> b[i] >> c[i];
    a[i]--; b[i]--;
    G[a[i]][b[i]] = c[i];
    G[b[i]][a[i]] = c[i];
  }

  d_init();
  
  
  for(int i = 0; i < N; i++) {
    for(int j = 0; j < N; j++) {
      for(int k = 0; k < N; k++) {
	dist[j][k] = min(dist[j][k],dist[j][i] + dist[i][k]);
      }
    }
  }

  /*for(int i = 0; i < N; i++) {
    for(int j = 0; j < N; j++) {
      cout << dist[i][j] <<endl;
    }
    }*/

  for(int i = 0; i < M; i++) {
    bool is = false;
    for(int j = 0; j < N; j++) {
      for(int k = 0; k < N; k++) {
	if(j == k)continue;
	if(dist[j][a[i]] + c[i] + dist[b[i]][k] == dist[j][k]){ is = true;
	  /*  cout <<dist[j][a[i]]<<"  "<< c[i] << "   " << dist[b[i]][k] <<"aaa"<<dist[j][k]<<endl;*/}
      }
    }
    if(is)ans++;
  }
  cout << M - ans <<endl;
}



  

Submission Info

Submission Time
Task D - Candidates of No Shortest Paths
User shossie1016
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1407 Byte
Status AC
Exec Time 25 ms
Memory 512 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 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
subtask_1_01.txt AC 1 ms 256 KB
subtask_1_02.txt AC 2 ms 256 KB
subtask_1_03.txt AC 4 ms 384 KB
subtask_1_04.txt AC 5 ms 384 KB
subtask_1_05.txt AC 14 ms 384 KB
subtask_1_06.txt AC 1 ms 256 KB
subtask_1_07.txt AC 2 ms 256 KB
subtask_1_08.txt AC 4 ms 384 KB
subtask_1_09.txt AC 5 ms 384 KB
subtask_1_10.txt AC 5 ms 384 KB
subtask_1_11.txt AC 1 ms 256 KB
subtask_1_12.txt AC 2 ms 256 KB
subtask_1_13.txt AC 5 ms 384 KB
subtask_1_14.txt AC 7 ms 512 KB
subtask_1_15.txt AC 5 ms 384 KB
subtask_1_16.txt AC 1 ms 256 KB
subtask_1_17.txt AC 2 ms 256 KB
subtask_1_18.txt AC 3 ms 256 KB
subtask_1_19.txt AC 6 ms 256 KB
subtask_1_20.txt AC 2 ms 256 KB
subtask_1_21.txt AC 1 ms 256 KB
subtask_1_22.txt AC 2 ms 256 KB
subtask_1_23.txt AC 3 ms 256 KB
subtask_1_24.txt AC 18 ms 384 KB
subtask_1_25.txt AC 9 ms 256 KB
subtask_1_26.txt AC 8 ms 384 KB
subtask_1_27.txt AC 25 ms 384 KB
subtask_1_28.txt AC 25 ms 384 KB