| 24363 | 2026-02-10 11:43:55 | szabel26 | Táblás játék | cpp17 | Wrong answer 20/50 | 64ms | 5428 KiB |
#include <iostream>
#include <vector>
#include <deque>
using namespace std;
struct adat
{
vector<int> be;
vector<int> ki;
int be_db;
int ki_db;
int szint;
int lat = 0;
};
deque<int> kov;
vector<adat> x;
vector<int> szint_st, sol1, sol2;
int n, m, a, b, szint_max, db;
void szelessegi(int akt)
{
szint_max = max(szint_max, x[akt].szint);
for (auto &e : x[akt].ki)
{
if (x[e].szint == 0 || x[e].szint < x[akt].szint + 1)
{
x[e].szint = x[akt].szint + 1;
kov.push_back(e);
}
}
}
void keres()
{
for (int i = 1; i <= n; ++i)
{
if (x[i].szint == 1)
{
a = i;
break;
}
}
for (int i = a + 1; i <= n; ++i)
{
if (x[i].szint == 1)
{
b = i;
break;
}
}
if (b == 0)
b = a;
}
void bejar(int akt1, int akt2)
{
pair<int, int> kov = {-1, -1};
sol1.push_back(akt1);
sol2.push_back(akt2);
for (auto &e : x[akt1].ki)
{
if (szint_st[x[e].szint] >= 2)
{
if (x[e].lat == 0)
{
kov.first = e;
x[e].lat = 1;
break;
}
}
else
{
kov.first = e;
x[e].lat = 1;
break;
}
}
for (auto &e : x[akt2].ki)
{
if (szint_st[x[e].szint] >= 2)
{
if (x[e].lat == 0)
{
kov.second = e;
x[e].lat = 1;
break;
}
}
else
{
kov.second = e;
x[e].lat = 1;
break;
}
}
if(kov.first != -1 && kov.second != -1) bejar(kov.first, kov.second);
}
int main()
{
cin >> n >> m;
x.resize(n + 1);
for (int i = 1; i <= m; ++i)
{
cin >> a >> b;
x[a].ki.push_back(b);
x[a].ki_db = x[a].ki.size();
x[b].be.push_back(a);
x[b].be_db = x[b].be.size();
}
for (int i = 1; i <= n; ++i)
{
if (x[i].be_db == 0)
{
x[i].szint = 1;
kov.push_back(i);
}
}
while (!kov.empty())
{
szelessegi(kov[0]);
kov.pop_front();
}
szint_st.resize(szint_max + 1);
for (int i = 1; i <= n; ++i)
{
++szint_st[x[i].szint];
}
a = 0;
b = 0;
keres();
bejar(a, b);
for (int i = 1; i <= szint_max; ++i) // feltetelezve, hogy mindig az utolso szinten levo csp egy celpont
{
if (szint_st[i] >= 2)
{
db += 2;
}
else
db += szint_st[i];
}
cout << db << endl;
for (auto &e : sol1)
cout << e << " ";
cout << 0 << endl;
for (auto &e : sol2)
cout << e << " ";
cout << 0;
}| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Wrong answer | 64ms | 5428 KiB | ||||
| subtask2 | 5/5 | ||||||
| 3 | Accepted | 1ms | 512 KiB | ||||
| 4 | Accepted | 1ms | 508 KiB | ||||
| 5 | Accepted | 1ms | 316 KiB | ||||
| 6 | Accepted | 1ms | 508 KiB | ||||
| 7 | Accepted | 1ms | 316 KiB | ||||
| subtask3 | 0/5 | ||||||
| 8 | Wrong answer | 1ms | 500 KiB | ||||
| 9 | Wrong answer | 1ms | 316 KiB | ||||
| 10 | Accepted | 1ms | 316 KiB | ||||
| 11 | Accepted | 1ms | 316 KiB | ||||
| 12 | Accepted | 1ms | 316 KiB | ||||
| subtask4 | 5/5 | ||||||
| 13 | Accepted | 1ms | 324 KiB | ||||
| 14 | Accepted | 1ms | 316 KiB | ||||
| 15 | Accepted | 2ms | 564 KiB | ||||
| 16 | Accepted | 2ms | 564 KiB | ||||
| 17 | Accepted | 12ms | 1604 KiB | ||||
| subtask5 | 0/10 | ||||||
| 18 | Accepted | 1ms | 508 KiB | ||||
| 19 | Wrong answer | 1ms | 508 KiB | ||||
| 20 | Wrong answer | 1ms | 316 KiB | ||||
| 21 | Wrong answer | 1ms | 508 KiB | ||||
| 22 | Accepted | 1ms | 316 KiB | ||||
| 23 | Wrong answer | 1ms | 316 KiB | ||||
| 24 | Accepted | 1ms | 316 KiB | ||||
| 25 | Accepted | 1ms | 316 KiB | ||||
| 26 | Wrong answer | 2ms | 316 KiB | ||||
| 27 | Wrong answer | 30ms | 3908 KiB | ||||
| subtask6 | 10/10 | ||||||
| 28 | Accepted | 2ms | 336 KiB | ||||
| 29 | Accepted | 2ms | 316 KiB | ||||
| 30 | Accepted | 2ms | 316 KiB | ||||
| 31 | Accepted | 2ms | 508 KiB | ||||
| 32 | Accepted | 1ms | 316 KiB | ||||
| 33 | Accepted | 1ms | 508 KiB | ||||
| 34 | Accepted | 1ms | 316 KiB | ||||
| 35 | Accepted | 1ms | 508 KiB | ||||
| 36 | Accepted | 2ms | 316 KiB | ||||
| 37 | Accepted | 30ms | 3876 KiB | ||||
| subtask7 | 0/15 | ||||||
| 38 | Accepted | 3ms | 568 KiB | ||||
| 39 | Wrong answer | 8ms | 1076 KiB | ||||
| 40 | Wrong answer | 59ms | 4660 KiB | ||||
| 41 | Wrong answer | 52ms | 4396 KiB | ||||
| 42 | Wrong answer | 28ms | 2628 KiB | ||||
| 43 | Wrong answer | 25ms | 2360 KiB | ||||
| 44 | Wrong answer | 17ms | 1844 KiB | ||||
| 45 | Wrong answer | 6ms | 856 KiB | ||||
| 46 | Wrong answer | 21ms | 2068 KiB | ||||
| 47 | Wrong answer | 41ms | 3544 KiB | ||||
| 48 | Wrong answer | 8ms | 1076 KiB | ||||
| 49 | Accepted | 2ms | 508 KiB | ||||
| 50 | Wrong answer | 16ms | 1700 KiB | ||||
| 51 | Accepted | 50ms | 4300 KiB | ||||
| 52 | Wrong answer | 54ms | 4588 KiB | ||||