Submission #66756102


Source Code Expand

Copy
#ifndef _Alignof
#define _Alignof __alignof__
#endif
#include <bits/stdc++.h>
#define LOOP(n) for (int _i = 0; _i < (n); _i++)
#define REP(i, n) for (int i = 0; i < (n); ++i)
#define RREP(i, n) for (int i = (n); i >= 0; --i)
#define FOR(i, r, n) for (int i = (r); i < (n); ++i)
#define ALL(obj) begin(obj), end(obj)
#define yes "Yes"
#define no "No"
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef pair<ll,int> pli;
typedef pair<int,ll> pil;
typedef vector<vector<int>> vvi;
typedef vector<vector<ll>> vvl;
const vector<char> alpha = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int dx[4] = {0, 1, 0, -1};
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#ifndef _Alignof
#define _Alignof __alignof__
#endif
#include <bits/stdc++.h>
#define LOOP(n) for (int _i = 0; _i < (n); _i++)
#define REP(i, n) for (int i = 0; i < (n); ++i)
#define RREP(i, n) for (int i = (n); i >= 0; --i)
#define FOR(i, r, n) for (int i = (r); i < (n); ++i)
#define ALL(obj) begin(obj), end(obj)
#define yes "Yes"
#define no "No"
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef pair<ll,int> pli;
typedef pair<int,ll> pil;
typedef vector<vector<int>> vvi;
typedef vector<vector<ll>> vvl;
const vector<char> alpha = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int dx[4] = {0, 1, 0, -1};
int dy[4] = {1, 0, -1, 0};
const ll INF = 1000000007;
const ll MOD=10000;
template<typename T> inline bool chmax(T &a, T b) { return ((a < b) ? (a = b, true) : (false)); }
template<typename T> inline bool chmin(T &a, T b) { return ((a > b) ? (a = b, true) : (false)); }
#ifndef _Alignof
#define _Alignof __alignof__
#endif
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
 
int main(){
    int N, M;
    cin >> N >> M;
    vector<vector<pii>> G(N);
    REP(i, M){
        int a, b, c;
        cin >> a >> b >> c;
        a--, b--;
        G[a].push_back({b, c});
    }
    vector<int> d(N, -1);
    queue<int> que;
    d[0] = 0;
    que.push(0);
    vector<int> base;
    while(!que.empty()){
        int u = que.front();
        que.pop();
        for(auto &edge: G[u]){
            int v = edge.first, w = edge.second;
            int nd = d[u] ^ w;
            if(d[v] == -1){
                d[v] = nd;
                que.push(v);
            } else {
                int cyc = nd ^ d[v];
                if(cyc != 0){
                    for(auto b : base) {
                        cyc = min(cyc, cyc ^ b);
                    }
                    if(cyc != 0) base.push_back(cyc);
                }
            }
        }
    }
    if(d[N-1] == -1){
        cout << -1 << endl;
        return 0;
    }
    int ans = d[N-1];
    sort(base.begin(), base.end(), greater<int>());
    for(auto b : base){
        if((ans ^ b) < ans) ans ^= b;
    }
    cout << ans << endl;
}

Submission Info

Submission Time
Task D - XOR Shortest Walk
User una_o0
Language C++ 17 (gcc 12.2)
Score 0
Code Size 2328 Byte
Status WA
Exec Time 1 ms
Memory 3680 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
AC × 3
AC × 30
WA × 3
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, hand_06.txt, hand_07.txt, hand_08.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, sample_01.txt, sample_02.txt, sample_03.txt
Case Name Status Exec Time Memory
hand_01.txt AC 1 ms 3552 KiB
hand_02.txt AC 1 ms 3496 KiB
hand_03.txt AC 1 ms 3424 KiB
hand_04.txt AC 1 ms 3492 KiB
hand_05.txt AC 1 ms 3488 KiB
hand_06.txt WA 1 ms 3492 KiB
hand_07.txt WA 1 ms 3492 KiB
hand_08.txt WA 1 ms 3552 KiB
random_01.txt AC 1 ms 3500 KiB
random_02.txt AC 1 ms 3576 KiB
random_03.txt AC 1 ms 3496 KiB
random_04.txt AC 1 ms 3644 KiB
random_05.txt AC 1 ms 3480 KiB
random_06.txt AC 1 ms 3500 KiB
random_07.txt AC 1 ms 3480 KiB
random_08.txt AC 1 ms 3676 KiB
random_09.txt AC 1 ms 3616 KiB
random_10.txt AC 1 ms 3476 KiB
random_11.txt AC 1 ms 3544 KiB
random_12.txt AC 1 ms 3464 KiB
random_13.txt AC 1 ms 3468 KiB
random_14.txt AC 1 ms 3512 KiB
random_15.txt AC 1 ms 3488 KiB
random_16.txt AC 1 ms 3448 KiB
random_17.txt AC 1 ms 3512 KiB
random_18.txt AC 1 ms 3544 KiB
random_19.txt AC 1 ms 3556 KiB
random_20.txt AC 1 ms 3584 KiB
random_21.txt AC 1 ms 3588 KiB
random_22.txt AC 1 ms 3632 KiB
sample_01.txt AC 1 ms 3556 KiB
sample_02.txt AC 1 ms 3680 KiB
sample_03.txt AC 1 ms 3520 KiB


2025-06-16 (Mon)
12:33:39 +09:00