Re:
Posted: Mon Dec 21, 2009 3:31 am
I am getting wa with my code. Can anyone help me what is wrong with my code?
Here is my code..
#include<iostream>
using namespace std;
int main (void)
{
int t,check = 1;
char in[100][101];
int m,n,i,j,k,l,q,e;
int r1,c1,r2,c2,t1,t2,t3,t4;
char c;
int count = 3 ;
int lin[20][2] ;
int inc = 1 ;
cin >> t ;
while(t)
{
cin >> m >> n >> q;
c = getchar() ;
for( i = 0 ; i < m ; i++ )
{
gets( in ) ;
}
for( j = 0 ; j < q ; j++ )
{
cin >> k >> l;
lin[j][0] = k;
lin[j][1] = l;
}
cout << m << " " << n << " " << q << "\n";
for( k = 0 ; k < q ; k++ )
{
i = lin[k][0] ;
j = lin[k][1] ;
r2 = i - 1 ;
c2 = j + 1;
t4 = c2 ;
r1 = i + 1;
c1 = j - 1 ;
t3 = c1 ;
c = in[j] ;
while( check )
{
// check from lower corner character
for( e = 0 ; e < count ; e++ )
{
if( in[r1][c1] != c )
{
check = 0;
break ;
}
c1++ ;
}
c1 = t3 ;
t1 = r1 ;
for( e = 0 ; e < count ; e++ )
{
if( in[r1][c1] != c )
{
check = 0;
break ;
}
r1 -- ;
}
for( e = 0 ; e < count - 1 ; e++)
{
if( in[r2][c2] != c )
{
check = 0;
break;
}
c2--;
}
c2 = t4 ;
t2 = r2 ;
for( e = 0 ; e < count - 1 ; e++)
{
if( in[r2][c2] != c )
{
check = 0;
break;
}
r2++;
}
if ( check == 1)
inc += 2 ;
r1 = t1 + 1;
t3-- ;
c1 = t3 ;
if( (r1 >= m) || ( c1 < 0 ) )
check = 0 ;
r2 = t2 - 1 ;
t4 ++;
c2 = t4 ;
if( (r2 < 0) || ( c2 >= n ) )
check = 0 ;
count += 2 ;
}
check = 1 ;
count = 3 ;
cout << inc <<"\n";
inc = 1 ;
}
t -- ;
}
return 0;
}
Here is my code..
#include<iostream>
using namespace std;
int main (void)
{
int t,check = 1;
char in[100][101];
int m,n,i,j,k,l,q,e;
int r1,c1,r2,c2,t1,t2,t3,t4;
char c;
int count = 3 ;
int lin[20][2] ;
int inc = 1 ;
cin >> t ;
while(t)
{
cin >> m >> n >> q;
c = getchar() ;
for( i = 0 ; i < m ; i++ )
{
gets( in ) ;
}
for( j = 0 ; j < q ; j++ )
{
cin >> k >> l;
lin[j][0] = k;
lin[j][1] = l;
}
cout << m << " " << n << " " << q << "\n";
for( k = 0 ; k < q ; k++ )
{
i = lin[k][0] ;
j = lin[k][1] ;
r2 = i - 1 ;
c2 = j + 1;
t4 = c2 ;
r1 = i + 1;
c1 = j - 1 ;
t3 = c1 ;
c = in[j] ;
while( check )
{
// check from lower corner character
for( e = 0 ; e < count ; e++ )
{
if( in[r1][c1] != c )
{
check = 0;
break ;
}
c1++ ;
}
c1 = t3 ;
t1 = r1 ;
for( e = 0 ; e < count ; e++ )
{
if( in[r1][c1] != c )
{
check = 0;
break ;
}
r1 -- ;
}
for( e = 0 ; e < count - 1 ; e++)
{
if( in[r2][c2] != c )
{
check = 0;
break;
}
c2--;
}
c2 = t4 ;
t2 = r2 ;
for( e = 0 ; e < count - 1 ; e++)
{
if( in[r2][c2] != c )
{
check = 0;
break;
}
r2++;
}
if ( check == 1)
inc += 2 ;
r1 = t1 + 1;
t3-- ;
c1 = t3 ;
if( (r1 >= m) || ( c1 < 0 ) )
check = 0 ;
r2 = t2 - 1 ;
t4 ++;
c2 = t4 ;
if( (r2 < 0) || ( c2 >= n ) )
check = 0 ;
count += 2 ;
}
check = 1 ;
count = 3 ;
cout << inc <<"\n";
inc = 1 ;
}
t -- ;
}
return 0;
}