// UUID: 00d684bd-0cce-41b9-988e-584a2a579c85
#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;
g.reserve((n+1)*(m+1)+1); g2.reserve((n+1)*(m+1)+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].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++) {
if (((i + m) / (m+1)) % 2) {
dfs(i);
used.clear();
}
}
int ans = 0;
for (auto i : pr) {
if (i.second != 0) {
g2[i.second].insert(i.first);
g2[i.first].insert(i.second);
ans++;
}
}
cout << ans << '\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;
}
open /var/local/lib/isolate/423/box/a.out: no such file or directory
main.cpp: In function 'int main()':
main.cpp:25:11: error: 'class std::map<int, std::set<int> >' has no member named 'reserve'
25 | g.reserve((n+1)*(m+1)+1); g2.reserve((n+1)*(m+1)+1);
| ^~~~~~~
main.cpp:25:38: error: 'class std::map<int, std::set<int> >' has no member named 'reserve'
25 | g.reserve((n+1)*(m+1)+1); g2.reserve((n+1)*(m+1)+1);
| ^~~~~~~