#include <iostream>
using namespace std;
int n, m;
char plansza[2001][2001];
char row_st[2001], col_st[2001];
int ret_nr;
char ret_RK[4000]; int ret_licz[4000]; char ret_lit[4000];
int main()
{
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
string s;
int i, j, rf, cf;
int takie_same; char litera;
cin >> n >> m;
rf = n; cf = m;
for (i = 0; i < n; i++)
{
cin >> s;
for (j = 0; j < m ; j++) plansza[i][j] = s[j];
}
/* for (i = 0; i < n; i++)
{
for (j = 0; j < m ; j++) cout << plansza[i][j];
cout << '\n';
} */
while (rf && cf)
{
if (rf) for (i = 0; i < n; i++)
if (!row_st[i])
{
litera = 0;
for (j = 0; j < m ; j++)
if(!col_st[j])
{
// cout << i << j << '\n';
if (litera)
{
if (litera != plansza[i][j]) break;
}
else litera = plansza[i][j];
}
if (j == m)
{
// cout << "qwe" << '\n';
ret_RK[ret_nr] = 'R'; ret_licz[ret_nr] = i + 1; ret_lit[ret_nr++] = litera;
row_st[i] = 1; rf--;
}
}
if (!rf) break;
if (cf) for (i = 0; i < m; i++)
if (!col_st[i])
{
litera = 0;
for (j = 0; j < n ; j++)
if(!row_st[j])
{
if (litera)
{
if (litera != plansza[j][i]) break;
}
else litera = plansza[j][i];
}
if (j == n)
{
ret_RK[ret_nr] = 'K'; ret_licz[ret_nr] = i + 1; ret_lit[ret_nr++] = litera;
col_st[i] = 1; cf--;
}
}
}
cout << ret_nr << '\n';
for (i = ret_nr - 1; i >= 0; i--)
cout << ret_RK[i] << ' ' << ret_licz[i] << ' ' << ret_lit[i] << '\n';
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | #include <iostream> using namespace std; int n, m; char plansza[2001][2001]; char row_st[2001], col_st[2001]; int ret_nr; char ret_RK[4000]; int ret_licz[4000]; char ret_lit[4000]; int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(NULL); string s; int i, j, rf, cf; int takie_same; char litera; cin >> n >> m; rf = n; cf = m; for (i = 0; i < n; i++) { cin >> s; for (j = 0; j < m ; j++) plansza[i][j] = s[j]; } /* for (i = 0; i < n; i++) { for (j = 0; j < m ; j++) cout << plansza[i][j]; cout << '\n'; } */ while (rf && cf) { if (rf) for (i = 0; i < n; i++) if (!row_st[i]) { litera = 0; for (j = 0; j < m ; j++) if(!col_st[j]) { // cout << i << j << '\n'; if (litera) { if (litera != plansza[i][j]) break; } else litera = plansza[i][j]; } if (j == m) { // cout << "qwe" << '\n'; ret_RK[ret_nr] = 'R'; ret_licz[ret_nr] = i + 1; ret_lit[ret_nr++] = litera; row_st[i] = 1; rf--; } } if (!rf) break; if (cf) for (i = 0; i < m; i++) if (!col_st[i]) { litera = 0; for (j = 0; j < n ; j++) if(!row_st[j]) { if (litera) { if (litera != plansza[j][i]) break; } else litera = plansza[j][i]; } if (j == n) { ret_RK[ret_nr] = 'K'; ret_licz[ret_nr] = i + 1; ret_lit[ret_nr++] = litera; col_st[i] = 1; cf--; } } } cout << ret_nr << '\n'; for (i = ret_nr - 1; i >= 0; i--) cout << ret_RK[i] << ' ' << ret_licz[i] << ' ' << ret_lit[i] << '\n'; return 0; } |
English