Submission #2861177


Source Code Expand

#include<bits/stdc++.h>
const int N = 2e5 + 5;
const int inf = 1e9 + 7;
using namespace std;

struct data {
    int val, ed;
    bool ck;
};

vector <int> adj[N];
deque <data> mq;
int u[N], v[N], c[N], n, m;
int d[N][2];

int main(){
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    cin >> n >> m;
    for (int i = 1; i <= m; i++) {
        cin >> u[i] >> v[i] >> c[i];
        adj[u[i]].push_back(i);
        adj[v[i]].push_back(i);
    }
    for (int i = 0; i < N; i++) d[i][0] = d[i][1] = inf;
    for (int i = 0; i < adj[1].size(); i++){
        int ed = adj[1][i];
        d[ed][1 != u[ed]] = 1;
        mq.push_front({1, ed, 1 != u[ed]});
    }
    while (mq.size()){
        data U = mq.front(); mq.pop_front();
        int ed = U.ed, val = U.val, ck = U.ck, x = ((ck) ? u[ed] : v[ed]);
        
        if (val != d[ed][ck]) continue;
        if (x == n) return cout << val << "\n", 0;

        for (int i = 0; i < adj[x].size(); i++){
            int ned = adj[x][i];
            if (d[ned][x != u[ned]] <= val + (c[ed] != c[ned])) continue;
            
            d[ned][x != u[ned]] = val + (c[ed] != c[ned]);
            if (c[ed] != c[ned]) mq.push_back({d[ned][x != u[ned]], ned, x != u[ned]});
            else mq.push_front({d[ned][x != u[ned]], ned, x != u[ned]});
        }
    }
    cout << "-1\n";
}

Submission Info

Submission Time
Task E - Snuke's Subway Trip
User sky2001
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1385 Byte
Status TLE
Exec Time 3160 ms
Memory 16896 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 600
Status AC
AC × 38
TLE × 21
Set Name Test Cases
Sample
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, sample_01.txt, sample_02.txt, sample_03.txt, w1.txt, w10.txt, w11.txt, w12.txt, w13.txt, w14.txt, w15.txt, w16.txt, w17.txt, w18.txt, w2.txt, w3.txt, w4.txt, w5.txt, w6.txt, w7.txt, w8.txt, w9.txt
Case Name Status Exec Time Memory
01.txt AC 4 ms 8448 KB
02.txt AC 60 ms 15488 KB
03.txt AC 98 ms 14592 KB
04.txt AC 76 ms 13056 KB
05.txt AC 81 ms 14208 KB
06.txt AC 41 ms 11904 KB
07.txt AC 47 ms 12032 KB
08.txt AC 84 ms 13952 KB
09.txt AC 45 ms 12032 KB
10.txt AC 50 ms 12032 KB
11.txt TLE 3156 ms 15488 KB
12.txt TLE 3156 ms 13564 KB
13.txt TLE 3156 ms 15868 KB
14.txt AC 110 ms 14848 KB
15.txt TLE 3156 ms 14848 KB
16.txt AC 2238 ms 14976 KB
17.txt TLE 3156 ms 14972 KB
18.txt AC 508 ms 13696 KB
19.txt AC 1113 ms 14844 KB
20.txt AC 359 ms 15360 KB
21.txt AC 973 ms 13568 KB
22.txt TLE 3156 ms 15356 KB
23.txt AC 108 ms 15232 KB
24.txt AC 2500 ms 13824 KB
25.txt AC 2937 ms 14076 KB
26.txt TLE 3156 ms 15612 KB
27.txt AC 75 ms 12672 KB
28.txt AC 1649 ms 13568 KB
29.txt AC 900 ms 13696 KB
30.txt TLE 3156 ms 13564 KB
31.txt AC 864 ms 14208 KB
32.txt TLE 3156 ms 13692 KB
33.txt AC 1019 ms 14976 KB
34.txt TLE 3156 ms 16896 KB
35.txt TLE 3156 ms 13180 KB
36.txt TLE 3156 ms 13692 KB
37.txt AC 988 ms 14848 KB
38.txt TLE 3156 ms 14848 KB
sample_01.txt AC 4 ms 8320 KB
sample_02.txt AC 3 ms 8320 KB
sample_03.txt AC 3 ms 8320 KB
w1.txt TLE 3160 ms 14836 KB
w10.txt AC 78 ms 11776 KB
w11.txt AC 49 ms 15616 KB
w12.txt AC 56 ms 15488 KB
w13.txt AC 358 ms 11136 KB
w14.txt AC 90 ms 11776 KB
w15.txt AC 50 ms 15616 KB
w16.txt AC 54 ms 15488 KB
w17.txt AC 61 ms 15744 KB
w18.txt AC 102 ms 11776 KB
w2.txt TLE 3156 ms 14952 KB
w3.txt TLE 3156 ms 14556 KB
w4.txt TLE 3156 ms 14328 KB
w5.txt TLE 3156 ms 14584 KB
w6.txt TLE 3156 ms 14584 KB
w7.txt TLE 3156 ms 11648 KB
w8.txt TLE 3156 ms 10880 KB
w9.txt AC 361 ms 11136 KB