站外题求调
  • 板块灌水区
  • 楼主Vitamin_B
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/12/24 18:15
  • 上次更新2023/12/24 20:18:45
查看原帖
站外题求调
743373
Vitamin_B楼主2023/12/24 18:15

AcWing 373,WA On test#3,code:

# include <bits/stdc++.h>

# define ffor(i,name) \
	for (auto i = name.begin (); i != name.end (); i ++)

using namespace std;

typedef long long ll;

typedef pair <int, int> pii;

int n, m, k, x, y, sum, p[205];

bool a[205][205], vis[205];

bool dfs (int x) {

	for (int i = 0; i < m; ++ i)
		if (! vis[i] && a[x][i]) {

			vis[i] = 1;

			if (! p[i] || dfs (p[i]))
				return p[i] = x, 1;

		}

	return 0;

}

int main () {

	ios::sync_with_stdio (0);

	cin.tie (0);

	cout.tie (0);

	cin >> n >> m >> k;

	for (int i = 0; i < n; ++ i)
		for (int j = 0; j < m; ++ j)
			a[i][j] = 1;

	while (k --) {

		cin >> x >> y;

		a[x - 1][y - 1] = 0;

	}

	for (int i = 0; i < n; ++ i) {

		for (int k = 0; k < m; ++ k)
			vis[k] = 0;

		sum += dfs (i);

	}

	cout << sum;

	return 0;

}
2023/12/24 18:15
加载中...