#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define int long long
using namespace std;
const int mod = 1e9+7;
const int N = 2e5+5;
int n,k, l[N],r[N],s[N];
vector<int>g[N];
int was[N], mt[N];
bool kuhn(int v) {
if(was[v]) return false;
was[v] = true;
for(auto to:g[v]) {
if(mt[to] == -1 || kuhn(mt[to])) {
mt[to] = v;
return true;
}
}
return false;
}
void solve() {
cin >> n >> k;
int tot = 0;
for(int i = 1;i<=2*n;i++) {
cin >> l[i] >> r[i] >> s[i];
g[l[i]].pb(i);
g[n+r[i]].pb(i);
}
memset(was,0,sizeof(was));
memset(mt,-1,sizeof(mt));
int cnt = 0;
for(int i = 1;i<=2*n;i++) {
memset(was,0,sizeof(was));
if(mt[i]) cnt++;
}
cout << (cnt == 2*n ? "YES" : "NO") ;
}
signed main() {
ios_base::sync_with_stdio(0);
int tt=1;
//cin >> tt;
while(tt--) {
solve();
}
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |