#include #include using namespace std; int intval(char c){ if(c <='9') return c-'0'; return c-'A'+10; } char charval(int n){ if(n > 9) return 'A'+n-10; return n+'0'; } int toDec(char a, char b){ return intval(a)*16+intval(b); } void compress(string &s){ string cped="#"; for(int i = 1; i < 7; i+=2){ if(s[i+1] == s[i]) cped += s[i]; else if(s[i+1] > s[i]){ int elsoI = intval(s[i]); int masoI = intval(s[i+1]); if(toDec(elsoI+1, elsoI+1) - toDec(elsoI,masoI) >= 9){ cped += s[i]; }else{ cped += charval(intval(s[i])+1); } }else{ int elsoI = intval(s[i]); int masoI = intval(s[i+1]); if(toDec(elsoI, masoI) - toDec(elsoI-1, elsoI-1) > 9){ cped += s[i]; }else{ cped += charval(intval(s[i])-1); } } } s = cped; } int main(){ int n, m; cin >> n >> m; string s[n][m]; for(int i = 0; i < n; ++i){ for(int j = 0; j < m; ++j){ cin >> s[i][j]; compress(s[i][j]); } } for(int i = 0; i < n; ++i){ for(int j = 0; j < m; ++j){ cout << s[i][j] << " "; } cout << endl; } }