Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <cstring>
- #define SMAX 100 /// (SMAX - 1) = lungimea maxima a sirului de caractere
- using namespace std;
- void convert_char(char chr,bool bin[8])
- {
- for(int i=0;i<8;++i)
- bin[7-i]=chr&(1<<i);
- }
- void convert_string(char* s,bool bin[SMAX][8])
- {
- for(int i=0;s[i];++i)
- convert_char(s[i],bin[i]);
- }
- int ij_length(int x,int y,bool m[SMAX][8],int i,int j)
- {
- int len,k;
- for(len=2;i+len<=x&&j+len<=y;++len)
- for(k=0;k<len;++k)
- {
- if(m[i+k][j+len-1]!=m[i][j])
- return len-1;
- if(m[i+len-1][j+k]!=m[i][j])
- return len-1;
- }
- return len-1;
- }
- int submatrix_size(int x,int y,bool m[SMAX][8]) {
- int len,sol=0;
- for(int i=0;i<x;++i)
- for(int j=0;j<y;++j)
- {
- len=ij_length(x,y,m,i,j);
- if(len>sol)
- sol=len;
- }
- return sol;
- }
- char str[SMAX];
- bool mat[SMAX][8];
- int main()
- {
- ifstream f("convert_submatrix.in");
- f>>str;
- convert_string(str,mat);
- ofstream g("convert_submatrix.out");
- g<<submatrix_size(strlen(str),8,mat)<<'\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement