Submission #384888


Source Code Expand

#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <fstream>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
typedef long long ll;
#define REP(i, N) for (int i = 0; i < (int)N; i++)
const int INF = 1 << 30;
const ll MOD = 1e9 + 7;
typedef pair<int, int> P;

int N, a, b, M;

vector<int> edges[101];

int ds[101];
int c[101];

int main() {
  cin >> N >> a >> b >>M;
  REP(i,M) {
    int x, y;
    cin >> x >> y;
    edges[x].push_back(y);
    edges[y].push_back(x);
  }

  queue<int> queue;
  REP(i,N+1) ds[i] = -1;

  queue.push(a);
  ds[a] = 0;
  c[a] = 1;

  while(queue.size()) {
    int n = queue.front(); queue.pop();
    for(int nn: edges[n]) {
      if(ds[nn] == -1) {
        queue.push(nn);
        ds[nn] = ds[n] + 1;
        c[nn] = c[n];
      } else if (ds[nn] == ds[n] + 1) {
        c[nn] += c[n];
        c[nn] %= MOD;
      }
    }
  }
  cout << c[b] << endl;
  return 0;
}

Submission Info

Submission Time
Task C - 正直者の高橋くん
User en30
Language C++11 (GCC 4.9.2)
Score 100
Code Size 1346 Byte
Status AC
Exec Time 26 ms
Memory 944 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 26 ms 928 KB
subtask0_sample_02.txt AC 23 ms 920 KB
subtask1_01.txt AC 24 ms 928 KB
subtask1_02.txt AC 26 ms 928 KB
subtask1_03.txt AC 24 ms 932 KB
subtask1_04.txt AC 24 ms 916 KB
subtask1_05.txt AC 23 ms 924 KB
subtask1_06.txt AC 25 ms 804 KB
subtask1_07.txt AC 23 ms 928 KB
subtask1_08.txt AC 24 ms 804 KB
subtask1_09.txt AC 24 ms 920 KB
subtask1_10.txt AC 23 ms 932 KB
subtask1_11.txt AC 24 ms 920 KB
subtask1_12.txt AC 24 ms 784 KB
subtask1_13.txt AC 23 ms 916 KB
subtask1_14.txt AC 23 ms 920 KB
subtask1_15.txt AC 25 ms 920 KB
subtask1_16.txt AC 23 ms 944 KB
subtask1_17.txt AC 24 ms 860 KB
subtask1_18.txt AC 25 ms 856 KB
subtask1_19.txt AC 25 ms 800 KB
subtask1_20.txt AC 25 ms 808 KB
subtask1_21.txt AC 25 ms 916 KB
subtask1_22.txt AC 23 ms 920 KB
subtask1_23.txt AC 23 ms 932 KB
subtask1_24.txt AC 25 ms 928 KB
subtask1_25.txt AC 24 ms 932 KB
subtask1_26.txt AC 23 ms 928 KB
subtask1_27.txt AC 25 ms 924 KB
subtask1_28.txt AC 23 ms 928 KB
subtask1_29.txt AC 23 ms 932 KB
subtask1_30.txt AC 24 ms 928 KB