Submission #1451119


Source Code Expand

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <string>
#include <map>
#include <bitset>
#include <vector>
#include <queue>

using namespace std;

typedef long long ll;
#define FOR(i,a,b)   for(ll i = (a); i < (b); i++ )
#define REP(i, n)    FOR(i,0,n)
typedef pair< ll, ll >   cp2;
typedef pair< ll, cp2 >   cp3;
#define fi first
#define se second
#define sec  se.fi
#define thr  se.se
const ll mod = 1000000007;
//              123456789

 
///////////////////////////////////////////////
//ダイクスト①
//O(n^2)
///////////////////////////////////////////////

////////////////////////////////////////////////
////////////////////////////////////////////////

#define V_MAX   1010
#define E_MAX   V_MAX(V_MAX-1)/2

int N, M;
int A, B, C;
int s, g;
int p[V_MAX][V_MAX];
int d[V_MAX];
bool flag[V_MAX];
int MIN;
int idx;

void dijkstra( int S ){
	fill( flag, flag+V_MAX, 1 );
	fill( d, d+V_MAX, -1 );
	d[S] = 0;
	REP( i, N ){
		MIN = mod;
		FOR( j, 1, N+1 ){
			if( 0 <= d[j] && d[j] < MIN && flag[j] ){
				MIN = d[j];
				idx = j;
			}
		}
		flag[idx] = 0;
		FOR( j, 1, N+1 ){
			if( p[idx][j] < 0 || !flag[j] ) continue;
			if( d[j] < 0 ) d[j] = d[idx]+p[idx][j];
			d[j] = min( d[j], d[idx]+p[idx][j] );
		}
	}
}

int ans = 0;

int main(){
	
	cin>>N>>M;
	//cin>>s>>g;
	
	fill( p[0], p[V_MAX], -1 );
	
	REP( i, M ){
		scanf("%d %d %d", &A, &B, &C);
		p[A][B] = C;
		p[B][A] = C;
	}
	
	FOR( a, 1, N+1 ){
		dijkstra( a );
		FOR( b, a+1, N+1 ){
			if( p[a][b] != d[b] && p[a][b] >= 0 ) ans++;
		}
	}
	
	cout<<ans<<endl;
	
	return 0;
	
}

Submission Info

Submission Time
Task D - Candidates of No Shortest Paths
User Ice_in_juice
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1673 Byte
Status AC
Exec Time 9 ms
Memory 4224 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:77:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d %d", &A, &B, &C);
                                ^

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 4224 KB
sample_02.txt AC 3 ms 4224 KB
subtask_1_01.txt AC 3 ms 4224 KB
subtask_1_02.txt AC 4 ms 4224 KB
subtask_1_03.txt AC 5 ms 4224 KB
subtask_1_04.txt AC 6 ms 4224 KB
subtask_1_05.txt AC 8 ms 4224 KB
subtask_1_06.txt AC 3 ms 4224 KB
subtask_1_07.txt AC 4 ms 4224 KB
subtask_1_08.txt AC 6 ms 4224 KB
subtask_1_09.txt AC 6 ms 4224 KB
subtask_1_10.txt AC 6 ms 4224 KB
subtask_1_11.txt AC 3 ms 4224 KB
subtask_1_12.txt AC 4 ms 4224 KB
subtask_1_13.txt AC 6 ms 4224 KB
subtask_1_14.txt AC 7 ms 4224 KB
subtask_1_15.txt AC 6 ms 4224 KB
subtask_1_16.txt AC 3 ms 4224 KB
subtask_1_17.txt AC 3 ms 4224 KB
subtask_1_18.txt AC 4 ms 4224 KB
subtask_1_19.txt AC 4 ms 4224 KB
subtask_1_20.txt AC 3 ms 4224 KB
subtask_1_21.txt AC 3 ms 4224 KB
subtask_1_22.txt AC 4 ms 4224 KB
subtask_1_23.txt AC 4 ms 4224 KB
subtask_1_24.txt AC 8 ms 4224 KB
subtask_1_25.txt AC 5 ms 4224 KB
subtask_1_26.txt AC 6 ms 4224 KB
subtask_1_27.txt AC 9 ms 4224 KB
subtask_1_28.txt AC 6 ms 4224 KB