| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1297764 | chikien2009 | Event Hopping 2 (JOI21_event2) | C++20 | 1 ms | 576 KiB |
#include <bits/stdc++.h>
using namespace std;
void setup()
{
#ifndef ONLINE_JUDGE
freopen("test.inp", "r", stdin);
freopen("test.out", "w", stdout);
#endif
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
int n, k;
pair<int, int> p[20];
bool cut[20][20];
inline void Form(int ind, int num, int bit)
{
bool check = true;
if (num == k)
{
for (int i = 0; i < n; ++i)
{
if ((bit >> i) & 1)
{
cout << i + 1 << "\n";
}
}
exit(0);
}
if (num + n - ind < k)
{
return;
}
for (int i = 0; i < n; ++i)
{
if (ind != i && ((bit >> i) & 1) && cut[ind][i])
{
check = false;
break;
}
}
if (check)
{
Form(ind + 1, num + 1, bit + (1 << ind));
}
Form(ind + 1, num, bit);
}
int main()
{
// setup();
cin >> n >> k;
for (int i = 0; i < n; ++i)
{
cin >> p[i].first >> p[i].second;
}
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
{
cut[i][j] = !((p[i].second <= p[j].first || p[j].second <= p[i].first));
}
}
Form(0, 0, 0);
cout << -1;
return 0;
}
Compilation message (stderr)
| # | 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... | ||||
