Submission #645623

#TimeUsernameProblemLanguageResultExecution timeMemory
645623filiptudose7Colors (RMI18_colors)C++14
47 / 100
130 ms5940 KiB
#include <bits/stdc++.h> using namespace std; constexpr int nmax=5005; vector<int> G[nmax]; bool sel[nmax][nmax]; int a[nmax],b[nmax]; void dfs(int nod, int culoare) { sel[nod][culoare]=true; for(auto it: G[nod]) { if(sel[it][culoare]==false && a[it]>=culoare && culoare>=b[it])dfs(it,culoare); } } int main() { //freopen("colors.in","r",stdin); //freopen("colors.out","w",stdout); cin.sync_with_stdio(false); cin.tie(0); int t; cin>>t; while(t--) { int n,m; cin>>n>>m; for(int i=1; i<=n; ++i) { cin>>a[i]; } for(int i=1; i<=n; ++i) { cin>>b[i]; } for(int i=1; i<=m; ++i) { int x,y; cin>>x>>y; G[x].push_back(y); G[y].push_back(x); } for(int i=1; i<=n; ++i) { for(int j=1; j<=n; ++j) sel[j][i]=false; for(int j=1; j<=n; ++j) { if(a[j]==i && sel[j][i]==false)dfs(j,i); } } int rez=1; for(int i=1; i<=n; ++i) { if(sel[i][b[i]]==false) { rez=0; break; } } cout<<rez<<'\n'; for(int i=1; i<=n; ++i) { G[i].clear(); } } return 0; }
#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...