Submission #1369314

#TimeUsernameProblemLanguageResultExecution timeMemory
1369314huangallen수천개의 섬 (IOI22_islands)C++20
5 / 100
16 ms11036 KiB
#include "islands.h"
#ifdef LOCAL
#include "grader.cpp"
#endif
#include <bits/stdc++.h>
using namespace std;
#define int long long 
#define iint signed 
#define REP(i,n) for(int i=0;i<(n);i++)
#define REP1(i,n) for(int i=1;i<=(n);i++)
#define RREP(i,n) for(int i=(n)-1;i>=0;i--)
#define RREP1(i,n) for(int i=(n);i>=1;i--)
#define f first
#define s second
#define pb push_back
#define ALL(x) (x).begin(),(x).end()
#define SZ(x) ((int)((x).size()))
#define pii pair<int,int>
#define Graph vector<vector<int>>
#define Graphw vector<vector<pii>>
template<typename S> void chmin(S &x,S y) { x=min(x,y); }
template<typename S> void chmax(S &x,S y) { x=max(x,y); }
#define Vi vector<int>
#define Vpii vector<pii>
#ifdef LOCAL
#define op(x) cout<<(#x)<<"="<<(x)<<", ";
#define ope(x) cout<<(#x)<<"="<<(x)<<endl;
#define oparr(x) {cout<<(#x)<<":";for(auto allen:(x)) cout<<allen<<" ";cout<<" size="<<(x).size()<<endl;}
#define entr cout<<endl;
#else
#define op(x) ;
#define ope(x) ;
#define oparr(x) ;
#define entr ;
#endif
template<typename S>
ostream& operator<<(ostream& os,vector<S> p) { for(auto allen:p) os<<allen<<' ';return os<<'\n'; }
template<typename S>
istream& operator>>(istream& os,vector<S> &p) { for(auto &allen:p) os>>allen;return os; }

std::variant<bool, std::vector<iint>> find_journey(
    iint N, iint M, std::vector<iint> U, std::vector<iint> V) {
	int n=N,m=M;
	Graphw g(n);
    vector<Vi> id(n,Vi(n));
	REP(i,m) {
        id[U[i]][V[i]]=i;
	} 
    if(n==2) return false;
	return vector<iint>{id[0][1],id[1][0],id[0][2],id[2][0],id[1][0],id[0][1],id[2][0],id[0][2]};
}


/*
4 8
0 1
1 0
1 2
2 1
1 3
3 1
2 3
3 2

4 12
0 1
1 0
0 2
2 0
0 3
3 0
1 2
2 1
1 3
3 1
2 3
3 2
*/

Compilation message (stderr)

islands.cpp: In function 'std::variant<bool, std::vector<int, std::allocator<int> > > find_journey(int, int, std::vector<int>, std::vector<int>)':
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](0))->std::vector<long long int>::operator[](1)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
   50 |         return vector<iint>{id[0][1],id[1][0],id[0][2],id[2][0],id[1][0],id[0][1],id[2][0],id[0][2]};
      |                                                                                                    ^
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](0))->std::vector<long long int>::operator[](1)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](1))->std::vector<long long int>::operator[](0)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](1))->std::vector<long long int>::operator[](0)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](0))->std::vector<long long int>::operator[](2)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](0))->std::vector<long long int>::operator[](2)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](2))->std::vector<long long int>::operator[](0)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](2))->std::vector<long long int>::operator[](0)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](1))->std::vector<long long int>::operator[](0)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](1))->std::vector<long long int>::operator[](0)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](0))->std::vector<long long int>::operator[](1)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](0))->std::vector<long long int>::operator[](1)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](2))->std::vector<long long int>::operator[](0)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](2))->std::vector<long long int>::operator[](0)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](0))->std::vector<long long int>::operator[](2)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
islands.cpp:50:100: warning: narrowing conversion of '(& id.std::vector<std::vector<long long int> >::operator[](0))->std::vector<long long int>::operator[](2)' from '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} to 'int' [-Wnarrowing]
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...