Advertisement
a53

convert_submatrix

a53
Dec 24th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. #include <fstream>
  2. #include <cstring>
  3. #define SMAX 100 /// (SMAX - 1) = lungimea maxima a sirului de caractere
  4. using namespace std;
  5.  
  6. void convert_char(char chr,bool bin[8])
  7. {
  8. for(int i=0;i<8;++i)
  9. bin[7-i]=chr&(1<<i);
  10. }
  11.  
  12. void convert_string(char* s,bool bin[SMAX][8])
  13. {
  14. for(int i=0;s[i];++i)
  15. convert_char(s[i],bin[i]);
  16. }
  17.  
  18. int ij_length(int x,int y,bool m[SMAX][8],int i,int j)
  19. {
  20. int len,k;
  21. for(len=2;i+len<=x&&j+len<=y;++len)
  22. for(k=0;k<len;++k)
  23. {
  24. if(m[i+k][j+len-1]!=m[i][j])
  25. return len-1;
  26. if(m[i+len-1][j+k]!=m[i][j])
  27. return len-1;
  28. }
  29. return len-1;
  30. }
  31.  
  32. int submatrix_size(int x,int y,bool m[SMAX][8]) {
  33. int len,sol=0;
  34. for(int i=0;i<x;++i)
  35. for(int j=0;j<y;++j)
  36. {
  37. len=ij_length(x,y,m,i,j);
  38. if(len>sol)
  39. sol=len;
  40. }
  41. return sol;
  42. }
  43.  
  44. char str[SMAX];
  45. bool mat[SMAX][8];
  46.  
  47. int main()
  48. {
  49. ifstream f("convert_submatrix.in");
  50. f>>str;
  51. convert_string(str,mat);
  52. ofstream g("convert_submatrix.out");
  53. g<<submatrix_size(strlen(str),8,mat)<<'\n';
  54. return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement