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 |
|
|
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 |