#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'; } |