@[渣儿](/space/show?uid=13117) emmm窝会不会变棕名woc...
by Rbu_nas @ 2018-09-25 21:27:45
好害怕。。。
by Rbu_nas @ 2018-09-25 21:30:11
@[渣儿](/space/show?uid=13117) 不是返回值的问题吧。。
我试了一下,没有返回值还是killed
by tocek_shiki @ 2018-09-25 21:42:11
@[渣儿](/space/show?uid=13117) 找到了,是在slv的的i取到11时咕咕的
by tocek_shiki @ 2018-09-25 21:45:02
@[渣儿](/space/show?uid=13117) 嘤,你怎么A了???
by tocek_shiki @ 2018-09-25 21:46:39
@[fff团666](/space/show?uid=49562) 嗯……我是把int slv()的类型写错了……
by Ouaoan @ 2018-09-25 21:50:57
@[fff团666](/space/show?uid=49562) 似乎O2下int类型必须加返回值,[改成void](https://www.luogu.org/record/show?rid=11146785)就过了的
by Ouaoan @ 2018-09-25 21:51:42
@[AC我最萌](/space/show?uid=80358) 没抄题解应该就没事吧QAQ……
by Ouaoan @ 2018-09-25 21:52:07
@[渣儿](/space/show?uid=13117) 求助
```cpp
#include <bits/stdc++.h>
#define newline printf ("\n")
#define space printf (" ")
#define cinfalse ios::sync_with_stdio(false)
#define fread(a) freopen (a".in", "r", stdin), freopen(a".out", "w", stdout)
#define rint register int
#define For(i, a, b) for (rint i = a; i <= b; i ++)
#define Low(i, a, b) for (rint i = a; i >= b; i --)
#define FFr(i, a, b, c) for (rint i = a; i <= b; i += c)
#define FLw(i, a, b, c) for (rint i = a; i >= b; i -= c)
#define min(a, b) (a)>(b)?(b):(a)
#define max(a, b) (a)>(b)?(a):(b)
#define MAXN 155
#define MAXM 6000
using namespace std;
int read()
{
int x = 0, f = 1;
char c = getchar();
while(c < '0' || c > '9')
{
if(c == '-')
f = -1;
c = getchar();
}
while(c >= '0' && c <= '9')
x = x*10 + c-'0', c = getchar();
return f*x;
}
int n, m;
vector < int > e[MAXN*2];//环
void preper ()
{
rint x, y;
n = read(), m = read();
for (rint i = 1; i <= m; i ++) x = read(), y = read(), e[x].push_back(y+n);
return ;
}
int used[MAXN*2];
int match[MAXN*2];
int dfs (int u)
{
if (used[u]) return 0;
used[u] = 1;
rint v;
for (rint i = 0; i < e[u].size(); i ++)
{
v = e[u][i];
if (!match[v]||dfs(match[v]))
return match[u] = v, match[v] = u, 1;
}
return 0;
}
void solve ()
{
For (i, 1, n) dfs (i), memset (used, 0, sizeof (used));
return ;
}
void print ()
{
rint ans = 0;
memset (used, 0, sizeof (used));
For (i, 1, n)
if (!used[i])
{
ans ++;
rint v = i+n;
while (v = match[v])
{
v -= n;
used[v] = 1;
printf ("%d ", v);
}
puts("");
}
printf ("%d", ans);
return ;
}
int main()
{
preper ();
solve ();
print ();
return 0;
}
```
by tocek_shiki @ 2018-09-25 22:21:16