제출 #873429

#제출 시각아이디문제언어결과실행 시간메모리
873429vjudge1Colors (RMI18_colors)C++17
7 / 100
111 ms612 KiB
// #pragma GCC target( "sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") // #pragma GCC optimize("Ofast,unroll-loops,fast-math,O3") #include<bits/stdc++.h> #define f first #define s second #define pb push_back #define sz(x) (int)x.size() #define bit(a, i) ((a>>i)&1) using namespace std; typedef long long ll; typedef pair<int, int> pii; const int P = 31; const int K = 400; const ll inf = 1e9; const ll INF = 1e18; const int mod = 1e9+7; const int maxn = 5e3 + 10; const int dx[] = {0, 0, -1, 1}; const int dy[] = {1, -1, 0, 0}; int a[maxn]; int b[maxn]; int n, m, sz; int us[maxn]; vector<int>g[maxn]; int dfs(int v, int x){ us[v] = sz; if(a[v] < x) return 0; if(b[v] > x) return 0; if(a[v] == x) return 1; int ans = 0; for(int to: g[v]){ if(us[to] == sz) continue; ans |= dfs(to, x); } return ans; } void ihtw(){ cin >> n >> m; for(int i=1; i<=n; i++) cin >> a[i]; for(int i=1; i<=n; i++) { cin >> b[i]; g[i].clear(); } for(int i=0; i<m; i++){ int u, v; cin >> u >> v; g[u].pb(v); g[v].pb(u); } for(int i=1; i<=n; i++){ sort(g[i].begin(), g[i].end()); g[i].resize(unique(g[i].begin(), g[i].end())-g[i].begin()); } sz = 1; for(int i=1; i<=n; i++, sz++){ if(!dfs(i, b[i])){ cout << "0\n"; return; } } cout << "1\n"; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin >> t; while(t--) ihtw(); }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...