240182026-02-03 17:58:37algoproÚtépítéscpp17Wrong answer 53/100899ms14644 KiB
// UUID: 27e150e7-34ac-4ab8-a512-4fba35651047
#include <bits/stdc++.h>
using namespace std;

map<int,set<int>> g, g2;
map<int,int> pr, used;

bool dfs(int p) {
	if (used[p] == 1) return false;
	used[p] = 1;
	for (int p2 : g[p]) {
		if (pr[p2] == 0 || dfs(pr[p2])) {
			pr[p2] = p;
			return true;
		}
	}
	return false;
}

int main() {
	ios_base::sync_with_stdio(false); cin.tie(NULL);

	int n, m; cin >> n >> m;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= m; j++) {
			char c; cin >> c;
			if (c == '.') continue;
			if (c == '\\') {
				g[(i-1)*(m+1) + j].insert(i*(m+1) + j+1);
				g[i*(m+1) + j+1].insert((i-1)*(m+1) + j);
			} else {
				g[(i-1)*(m+1) + j+1].insert(i*(m+1) + j);
				g[i*(m+1) + j].insert((i-1)*(m+1) + j+1);
			}
		}
	}
	
	for (int i = 1; i <= (n+1)*(m+1); i++) {
		dfs(i);
		used.clear();
	}

	int ans = 0;

	for (auto i : pr) {
		if (i.second != 0) {
			g2[i.second].insert(i.first);
			ans++;
		}
	}

	cout << ans/2 << '\n';

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= m; j++) {
			if (g2[(i-1)*(m+1) + j].count(i*(m+1) + j+1)) {
				cout << '\\';
				continue;
			}
			if (g2[(i-1)*(m+1) + j+1].count(i*(m+1) + j)) {
				cout << '/';
				continue;
			}
			cout << '.';
		}
		cout << '\n';
	}

	return 0;
}
SubtaskSumTestVerdictTimeMemory
base53/100
1Accepted0/02ms316 KiB
2Wrong answer0/075ms12844 KiB
3Accepted5/52ms316 KiB
4Accepted5/52ms316 KiB
5Accepted5/51ms316 KiB
6Accepted5/53ms796 KiB
7Accepted5/51ms552 KiB
8Partially correct2/51ms316 KiB
9Partially correct2/52ms564 KiB
10Partially correct2/52ms564 KiB
11Partially correct2/54ms1076 KiB
12Partially correct2/54ms1076 KiB
13Partially correct2/57ms1208 KiB
14Accepted5/58ms2248 KiB
15Partially correct2/525ms3892 KiB
16Time limit exceeded0/5880ms6640 KiB
17Time limit exceeded0/5899ms5052 KiB
18Time limit exceeded0/5899ms6388 KiB
19Accepted5/5314ms11828 KiB
20Partially correct2/5109ms14644 KiB
21Partially correct2/5112ms14644 KiB
22Time limit exceeded0/5879ms4404 KiB