제출 #189104

#제출 시각아이디문제언어결과실행 시간메모리
189104MvCTug of War (BOI15_tug)C++11
23 / 100
17 ms2808 KiB
#pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include <bits/stdc++.h> #define rc(x) return cout<<x<<endl,0 #define pb push_back #define mkp make_pair #define in insert #define er erase #define fd find #define fr first #define sc second typedef long long ll; typedef long double ld; const ll INF=0x3f3f3f3f3f3f3f3f; const ll llinf=(1LL<<62); const int inf=(1<<30); const int nmax=6e4+50; const int mod=1e9+7; using namespace std; int n,k,l[nmax],r[nmax],s[nmax],i,vl[nmax]; vector<int>g[nmax]; bitset<nmax>b; int dfs(int x) { for(int i=0;i<(int)g[x].size();i++) { int y=g[x][i]; if(b[y])continue; b[y]=1; if(!vl[y] || dfs(vl[y])) { vl[y]=x; return 1; } } return 0; } int main() { //freopen("sol.in","r",stdin); //freopen("sol.out","w",stdout); //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0); cin>>n>>k; for(i=1;i<=2*n;i++) { cin>>l[i]>>r[i]>>s[i]; g[i].pb(l[i]); g[i].pb(r[i]+n); } for(i=1;i<=2*n;i++) { b.reset(); if(!dfs(i))rc("NO"); } cout<<"YES"<<endl; 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...