Submission #6427000


Source Code Expand

#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <numeric>
#include <functional>
#include <map>
#include <queue>
#define REP(i,n) for(int (i)=0; (i)<(n); (i)++)
using namespace std;
using ll = long long;
ll MOD = 1e9+7;

int n, a, b, m;
vector<int> G[101];
int dist[101];
ll cnt[101];

int main(int argc, const char * argv[]) {   
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    cin >> n >> a >> b >> m;
    a--;
    b--;
    
    REP(i, m){
        int x, y;
        cin >> x >> y;
        x--;
        y--;
        G[x].push_back(y);
        G[y].push_back(x);
    }
//    REP(i,n){
//        for(int j = 0; j < G[i].size(); j++){
//            cout << G[i][j] << " ";
//        }
//        cout << endl;
//    }
    // init
    REP(i, n){
        dist[i] = 1e9;
        cnt[i] = 0;
    }
    
    queue<int> q;
    q.push(a);
    dist[a] = 0; cnt[a] = 1;
    while(!q.empty()){
        int u = q.front(); q.pop();
        if(u == b){//goal
            break;
        }
        for(auto i = 0; i < G[u].size(); i++){
            int v = G[u][i];
            if(dist[v] == 1e9){
                dist[v] = dist[u] + 1;
                cnt[v] += cnt[u];
                cnt[v] %= MOD;
                q.push(v);
            }else if(dist[v] == dist[u] + 1){
                cnt[v] += cnt[u];
                cnt[v] %= MOD;
            }
        }
    }
    printf("%lld\n", cnt[b] % MOD);
    return 0;
}

Submission Info

Submission Time
Task C - 正直者の高橋くん
User tomiik
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1540 Byte
Status AC
Exec Time 1 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 1 ms 256 KB
subtask1_02.txt AC 1 ms 256 KB
subtask1_03.txt AC 1 ms 256 KB
subtask1_04.txt AC 1 ms 256 KB
subtask1_05.txt AC 1 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 1 ms 256 KB
subtask1_12.txt AC 1 ms 256 KB
subtask1_13.txt AC 1 ms 256 KB
subtask1_14.txt AC 1 ms 256 KB
subtask1_15.txt AC 1 ms 256 KB
subtask1_16.txt AC 1 ms 256 KB
subtask1_17.txt AC 1 ms 256 KB
subtask1_18.txt AC 1 ms 256 KB
subtask1_19.txt AC 1 ms 256 KB
subtask1_20.txt AC 1 ms 256 KB
subtask1_21.txt AC 1 ms 256 KB
subtask1_22.txt AC 1 ms 256 KB
subtask1_23.txt AC 1 ms 256 KB
subtask1_24.txt AC 1 ms 256 KB
subtask1_25.txt AC 1 ms 256 KB
subtask1_26.txt AC 1 ms 256 KB
subtask1_27.txt AC 1 ms 256 KB
subtask1_28.txt AC 1 ms 256 KB
subtask1_29.txt AC 1 ms 256 KB
subtask1_30.txt AC 1 ms 256 KB