제출 #1172973

#제출 시각아이디문제언어결과실행 시간메모리
1172973daveleThousands Islands (IOI22_islands)C++20
6.75 / 100
19 ms4464 KiB
#ifndef davele
#include "islands.h"
#endif // davele

#include <bits/stdc++.h>
#include <variant>
#define pii pair<int, int>
#define fi first
#define se second
#define vi vector <int>
#define pq priority_queue
#define MASK(i) (1ll<<(i))
#define BIT(x, i) (((x) >> (i)) & 1)
#define x0 ___x0
#define y0 ___y0
#define div   ___div
#define next   ___next
#define prev   ___prev
#define left   ___left
#define right   ___right
#define pos pisosi
#define pb push_back
#define pf push_front
using namespace std;

//const int mod = ;
//void add (int &a, const int&b){
//    a+=b;
//    if (a>=mod) a-=mod;
//}
//
//void sub (int&a, const int&b){
//    a-=b;
//    if (a<0) a+=mod;
//}
//
//void mul (int&a, const int&b){
//    a*=b;
//    a%=mod;
//}

template<class X, class Y>
    bool minimize(X &x, const Y&y){
        if (x<=y) return false;
        else{
            x = y;
            return true;
        }
    }
template<class X, class Y>
    bool maximize (X &x, const Y&y){
        if (x>=y) return false;
        else{
            x = y;
            return true;
        }
    }

////////////////////////////////////////////////////////////////////////////
//const int lim = , limit = , inf = ;

std::variant<bool, std::vector<int>> find_journey(int N, int M, std::vector<int> U, std::vector<int> V){
    if (N==2){
        vector <int> f0, f1;
        int cnt = 0;
        for (int i=0; i<M; i++){
            if (U[i]==0) f0.pb(i);
            else f1.pb(i);
        }
        if ((int)f0.size()<=1) return false;
        if (f1.empty()) return false;
        vector <int> ret;
        ret.pb(f0[0]);
        ret.pb(f1[0]);
        ret.pb(f0[1]);
        ret.pb(f0[0]);
        ret.pb(f1[0]);
        ret.pb(f0[1]);
        return ret;
    }
    int st = 0, en = 0;
    for (int i=0; i<M; i++) if (U[i]==0) st++;
    for (int i=0; i<M; i++) if (V[i]==0) en++;
    if (st<=1 || en==0) return false;
    return true;
}



#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...