#include <bits/stdc++.h>
using namespace std;
int n,m,i,j,a,md,x,y,k,d,t;
vector<array<int,3>> h,b;
array<array<int,26>,3000> r,c;
char ca;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
for(i=0;i<n;i++)
for(j=0;j<m;j++) {
cin >> ca;
r[i][ca-65]++;
c[j][ca-65]++;
}
x=m;
y=n;
//cout << "AA";
while(t<n+m)
if (a) {
h={};
for(i=0;i<n;i++)
for(k=0;k<26;k++)
if(r[i][k]==x){
h.push_back({i,k});
for(d=0;d<m;d++)
c[d][k]--;
r[i][k]=0;
}
for(auto w:h)
b.push_back({1,w[0],w[1]});
a=1-a;
y-=h.size();
if(y==0)
break;
}
else{
h={};
for(i=0;i<m;i++)
for(k=0;k<26;k++)
if(c[i][k]==y){
h.push_back({i,k});
for(d=0;d<n;d++)
r[d][k]--;
c[i][k]=0;
}
for(auto w:h)
b.push_back({0,w[0],w[1]});
a=1-a;
x-=h.size();
if(x==0)
break;
}
cout << b.size() << '\n';
for(i=b.size()-1;i>=0;i--)
if(b[i][0])
cout << "R" << ' ' << b[i][1]+1 << ' ' << (char)(b[i][2]+65) << '\n';
else
cout << "K" << ' ' << b[i][1]+1 << ' ' << (char)(b[i][2]+65) << '\n';
}
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 | #include <bits/stdc++.h> using namespace std; int n,m,i,j,a,md,x,y,k,d,t; vector<array<int,3>> h,b; array<array<int,26>,3000> r,c; char ca; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for(i=0;i<n;i++) for(j=0;j<m;j++) { cin >> ca; r[i][ca-65]++; c[j][ca-65]++; } x=m; y=n; //cout << "AA"; while(t<n+m) if (a) { h={}; for(i=0;i<n;i++) for(k=0;k<26;k++) if(r[i][k]==x){ h.push_back({i,k}); for(d=0;d<m;d++) c[d][k]--; r[i][k]=0; } for(auto w:h) b.push_back({1,w[0],w[1]}); a=1-a; y-=h.size(); if(y==0) break; } else{ h={}; for(i=0;i<m;i++) for(k=0;k<26;k++) if(c[i][k]==y){ h.push_back({i,k}); for(d=0;d<n;d++) r[d][k]--; c[i][k]=0; } for(auto w:h) b.push_back({0,w[0],w[1]}); a=1-a; x-=h.size(); if(x==0) break; } cout << b.size() << '\n'; for(i=b.size()-1;i>=0;i--) if(b[i][0]) cout << "R" << ' ' << b[i][1]+1 << ' ' << (char)(b[i][2]+65) << '\n'; else cout << "K" << ' ' << b[i][1]+1 << ' ' << (char)(b[i][2]+65) << '\n'; } |
English