Submission #2999149


Source Code Expand

#include <iostream>
#include <vector>
#include <queue>
using namespace std;
typedef long long ll;
//typedef pair<ll,int> P;
int N,a,b,M,x,y,inf = 1e9+7;
int D[101][101];
ll dp[101] = {0};

int main(){
	cin >> N >> a >> b >> M;
	vector<vector<int>> v(101);
	for(int i=1;i<=N;i++){
		for(int j=1;j<=N;j++){
			if(i!=j) D[i][j] = inf;
			else D[i][j] = 0;
		}
	}
	for(int i=0;i<M;i++){
		cin >> x >> y;
		v[x].push_back(y);
		v[y].push_back(x);
		D[x][y] = 1;
		D[y][x] = 1;
	}
	for(int k=1;k<=N;k++){
		for(int i=1;i<=N;i++){
			for(int j=1;j<=N;j++){
				D[i][j] = min(D[i][j],D[i][k]+D[k][j]);
			}
		}
	}
	dp[a] = 1;
	queue<int> Q;//{場合の数,頂点}
	Q.push(a);
	int visited[101] = {0};
	while(Q.size()>0){
		//P t = Q.front();
		int n = Q.front();
		Q.pop();
		for(int i=0;i<v[n].size();i++){
			if(D[a][n]+D[n][v[n][i]] == D[a][v[n][i]]){
				dp[v[n][i]] = (dp[v[n][i]]+dp[n])%inf;
				if(visited[v[n][i]]==0) Q.push(v[n][i]);
				visited[v[n][i]] = 1;
			}
		}
	}
//	for(int i=1;i<=N;i++) cout << dp[i] << (i==N? "\n":" ");
	cout << dp[b] << endl;
}

Submission Info

Submission Time
Task C - 正直者の高橋くん
User idsigma
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1111 Byte
Status AC
Exec Time 2 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 32
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_02.txt
All subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt AC 1 ms 256 KB
subtask0_sample_02.txt AC 1 ms 256 KB
subtask1_01.txt AC 2 ms 256 KB
subtask1_02.txt AC 2 ms 256 KB
subtask1_03.txt AC 1 ms 256 KB
subtask1_04.txt AC 2 ms 256 KB
subtask1_05.txt AC 2 ms 256 KB
subtask1_06.txt AC 1 ms 256 KB
subtask1_07.txt AC 1 ms 256 KB
subtask1_08.txt AC 1 ms 256 KB
subtask1_09.txt AC 1 ms 256 KB
subtask1_10.txt AC 1 ms 256 KB
subtask1_11.txt AC 2 ms 256 KB
subtask1_12.txt AC 2 ms 256 KB
subtask1_13.txt AC 2 ms 256 KB
subtask1_14.txt AC 2 ms 256 KB
subtask1_15.txt AC 2 ms 256 KB
subtask1_16.txt AC 2 ms 256 KB
subtask1_17.txt AC 2 ms 256 KB
subtask1_18.txt AC 2 ms 256 KB
subtask1_19.txt AC 2 ms 256 KB
subtask1_20.txt AC 2 ms 256 KB
subtask1_21.txt AC 2 ms 256 KB
subtask1_22.txt AC 2 ms 256 KB
subtask1_23.txt AC 2 ms 256 KB
subtask1_24.txt AC 2 ms 256 KB
subtask1_25.txt AC 2 ms 256 KB
subtask1_26.txt AC 2 ms 256 KB
subtask1_27.txt AC 2 ms 256 KB
subtask1_28.txt AC 2 ms 256 KB
subtask1_29.txt AC 1 ms 256 KB
subtask1_30.txt AC 1 ms 256 KB