240522026-02-03 18:34:33algoproÚtépítéscpp17Runtime error 0/1008ms2868 KiB
// UUID: 926f4bfd-059e-43ae-9731-e302286293bf
#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> g;
vector<vector<int>> g2;
vector<int> pr, used;

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

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

	int n, m; cin >> n >> m;

	g.resize((n+1)*(m+1)+1);
	pr.resize((n+1)*(m+1)+1);
	used.resize((n+1)*(m+1)+1);

	g2.assign(n+1, vector<int>(m+1));

	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].push_back(i*(m+1) + j+1);
				g[i*(m+1) + j+1].push_back((i-1)*(m+1) + j);
			} else {
				g[(i-1)*(m+1) + j+1].push_back(i*(m+1) + j);
				g[i*(m+1) + j].push_back((i-1)*(m+1) + j+1);
			}
		}
	}
	
	for (int i = (n+1)*(m+1)+1; i >= 1; i++) {
		if (((i + m) / (m+1)) % 2 == 0)
			dfs(i, i);
	}

	int ans = 0;

	for (int i = 1; i <= (n+1)*(m+1); i++) {
		if (pr[i] == 0) continue;
		int a = i, b = pr[i];
		if (a > b) swap(a, b);
		if (b - a == m+2)
			g2[(m + a) / (m+1)][a - ((m + a) / (m+1) - 1)*(m+1)] = 1;
		else
		if (b - a == m)
			g2[(m + a) / (m+1)][a - ((m + a) / (m+1) - 1)*(m+1) - 1] = 2;
		ans++;
	}

	cout << ans << '\n';

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

	return 0;
}
SubtaskSumTestVerdictTimeMemory
base0/100
1Runtime error0/01ms508 KiB
2Runtime error0/07ms2868 KiB
3Runtime error0/51ms316 KiB
4Runtime error0/51ms320 KiB
5Runtime error0/51ms500 KiB
6Runtime error0/51ms564 KiB
7Runtime error0/51ms316 KiB
8Runtime error0/52ms316 KiB
9Runtime error0/51ms316 KiB
10Runtime error0/51ms316 KiB
11Runtime error0/52ms564 KiB
12Runtime error0/52ms564 KiB
13Runtime error0/52ms568 KiB
14Runtime error0/51ms824 KiB
15Runtime error0/53ms1076 KiB
16Runtime error0/54ms2356 KiB
17Runtime error0/54ms2392 KiB
18Runtime error0/56ms2356 KiB
19Runtime error0/56ms2356 KiB
20Runtime error0/58ms2868 KiB
21Runtime error0/57ms2868 KiB
22Runtime error0/54ms2356 KiB