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
83
84
85
86
87
88
89
90
91
92
93
#include<bits/stdc++.h>
using namespace std;
int main(){
    int wymiarx;
    int wymiary;
    cin >> wymiary;
    cin >> wymiarx;
    vector <char> rtyp;
    vector <int> rnum;
    vector <char> rcol;
    char tablica[wymiary][wymiarx];
    bool udalosie;
    bool typ;
    int wrzedy[wymiary];
    int wkolomny[wymiarx];
    int i;
    int i2;
    int wykreslone = 0;
    for(i = 0; i < wymiary; i++){
        udalosie = true;
        wrzedy[i] = 1;
        for(i2 = 0; i2 < wymiarx; i2++){
            wkolomny[i2] = 1;
            cin >> tablica[i][i2];
            if(tablica[i][i2] != tablica[i][0]){
                udalosie = false;
            }
        }
        if(udalosie and wykreslone < wymiarx + wymiary){
            rtyp.push_back('R');
            rnum.push_back(i);
            rcol.push_back(tablica[i][0]);
            wrzedy[i] = 0;
            wykreslone ++;
        }
    }

    while(wykreslone < wymiarx + wymiary){
    udalosie = true;
    for(i2 = 0; i2 < wymiarx; i2++){
        if(wkolomny[i2]){
        udalosie = true;
        for(int i = 0; i < wymiary; i++){
            if(wrzedy[i]){
            if(tablica[i][i2] != tablica[0][i2]){
                udalosie = false;
                break;
            }}
        }}
        if(udalosie){
            rtyp.push_back('K');
            rnum.push_back(i2);
            rcol.push_back(tablica[0][i2]);
            wkolomny[i2] = 0;
            wykreslone ++;
        }
        if(wykreslone >= wymiarx + wymiary){
            break;
        }
    }
        if(wykreslone >= wymiarx + wymiary){
            break;
        }    
    udalosie = true;
    for(i = 0; i < wymiary; i++){
        udalosie = true;
        if(wrzedy[i]){
        for(int i2 = 0; i2 < wymiarx; i2++){
            if(wkolomny[i2]){
            if(tablica[i][i2] != tablica[i][0]){
                udalosie = false;
                break;
            }}
        }}
        if(udalosie){
            rtyp.push_back('R');
            rnum.push_back(i);
            rcol.push_back(tablica[i][0]);
            wrzedy[i] = 0;
            wykreslone ++;
        }
        if(wykreslone >= wymiarx + wymiary){
            break;
        }
    }
    }
    cout << rtyp.size() << '\n';
    for(int x = rtyp.size() - 1; x >= 0; x--){
        cout << rtyp[x] << ' ' << rnum[x] + 1 << ' ' << rcol[x] << '\n';
    }

    
}