Submission #1183956

#TimeUsernameProblemLanguageResultExecution timeMemory
1183956ezzzayPort Facility (JOI17_port_facility)C++20
0 / 100
3 ms7232 KiB
#include "bits/stdc++.h" using namespace std; #define pb push_back #define ff first #define ss second const int N=3e5+6; int l[N]; int col[N]; int r[N]; vector<int>v[N]; int ans=1; void dfs(int a){ for(auto b:v[a]){ if(col[b]){ if(col[b]==col[a])ans=0; } else{ col[b]=3-col[a]; dfs(b); } } } const int mod=1e9+7; signed main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>l[i]>>r[i]; } for(int i=1;i<=n;i++){ for(int j=i;j<=n;j++){ if(i==j)continue; if(l[i]<l[j] and l[j] <r[i] and r[j]>r[i]){ v[i].pb(j); v[j].pb(i); } } } for(int i=1;i<=n;i++){ if(col[i]==0){ col[i]=1; dfs(i); ans*=2; ans%=mod; } } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...