Skip to content

Instantly share code, notes, and snippets.

@saisumit
Created February 13, 2017 11:11
Show Gist options
  • Save saisumit/c02a114e7c1ea1b60d9ee2f039cd342f to your computer and use it in GitHub Desktop.
Save saisumit/c02a114e7c1ea1b60d9ee2f039cd342f to your computer and use it in GitHub Desktop.
#include <bits/stdc++.h>
using namespace std ;
/* When Panda is Life !
_,add8ba,
,d888888888b,
d8888888888888b _,ad8ba,_
d888888888888888) ,d888888888b,
I8888888888888888 _________ ,8888888888888b
__________`Y88888888888888P"""""""""""baaa,__ ,888888888888888,
,adP"""""""""""9888888888P""^ ^""Y8888888888888888I
,a8"^ ,d888P"888P^ ^"Y8888888888P'
,a8^ ,d8888' ^Y8888888P'
a88' ,d8888P' I88P"^
,d88' d88888P' "b,
,d88' d888888' `b,
,d88' d888888I `b,
d88I ,8888888' ___ `b,
,888' d8888888 ,d88888b, ____ `b,
d888 ,8888888I d88888888b, ,d8888b, `b
,8888 I8888888I d8888888888I ,88888888b 8,
I8888 88888888b d88888888888' 8888888888b 8I
d8886 888888888 Y888888888P' Y8888888888, ,8b
88888b I88888888b `Y8888888^ `Y888888888I d88,
Y88888b `888888888b, `""""^ `Y8888888P' d888I
`888888b 88888888888b, `Y8888P^ d88888
Y888888b ,8888888888888ba,_ _______ `""^ ,d888888
I8888888b, ,888888888888888888ba,_ d88888888b ,ad8888888I
`888888888b, I8888888888888888888888b, ^"Y888P"^ ____.,ad88888888888I
88888888888b,`888888888888888888888888b, "" ad888888888888888888888'
8888888888888698888888888888888888888888b_,ad88ba,_,d88888888888888888888888
88888888888888888888888888888888888888888b,`"""^ d8888888888888888888888888I
8888888888888888888888888888888888888888888baaad888888888888888888888888888'
Y8888888888888888888888888888888888888888888888888888888888888888888888888P
I888888888888888888888888888888888888888888888P^ ^Y8888888888888888888888'
`Y88888888888888888P88888888888888888888888888' ^88888888888888888888I
`Y8888888888888888 `8888888888888888888888888 8888888888888888888P'
`Y888888888888888 `888888888888888888888888, ,888888888888888888P'
`Y88888888888888b `88888888888888888888888I I888888888888888888'
"Y8888888888888b `8888888888888888888888I I88888888888888888'
"Y88888888888P `888888888888888888888b d8888888888888888'
^""""""""^ `Y88888888888888888888, 888888888888888P'
"8888888888888888888b, Y888888888888P^
`Y888888888888888888b `Y8888888P"^
"Y8888888888888888P `""""^
`"YY88888888888P'
^""""""""'
*/
#include <bits/stdc++.h>
#define REP(i, a, b) for (int i = a; i <= b; i++)
#define FOR(i, n) for (int i = 0; i < n; i++)
#define foreach(it, ar) for ( typeof(ar.begin()) it = ar.begin(); it != ar.end(); it++ )
#define PI 3.1415926535897932385
#define uint64 unsigned long long
#define Int long long
#define int64 long long
#define all(ar) ar.begin(), ar.end()
#define pb push_back
#define ff first
#define ss second
#define bit(n) (1<<(n))
#define Last(i) ( (i) & (-i) )
#define sq(x) ((x) * (x))
#define mp make_pair
string str = "ALLIZZWELL" ;
int n , m ;
string A[ 101 ] ;
int N = 10 ;
bool f = false ;
void dfs( int i , int j , int idx , set<pair<int,int> > s )
{
// cout<<A[i][j] <<" " << idx<<endl;
if( f ) return ;
if( idx == N ){ f = true ; return ; }
if( i < 0 || i >= n || j < 0 || j >= m )return ;
if( s.find(mp(i,j)) != s.end() )return ;
if( A[i][j] != str[idx] )return ;
s.insert( mp(i,j ) ) ;
dfs( i + 1 , j , idx + 1 , s ) ;
dfs( i - 1 , j , idx + 1 , s ) ;
dfs( i , j + 1 , idx + 1 , s ) ;
dfs( i , j - 1 , idx + 1 , s ) ;
dfs( i - 1 , j - 1 , idx + 1 , s ) ;
dfs( i + 1 , j + 1 , idx + 1 , s ) ;
dfs( i + 1 , j - 1 , idx + 1 , s ) ;
dfs( i - 1 , j + 1 , idx + 1 , s ) ;
}
int main ( )
{
int t ;
scanf("%d",&t) ;
while( t-- )
{
f = false ;
scanf("%d%d",&n,&m) ;
FOR( i , n )cin >> A[i] ;
// FOR( i, n )cout<<A[i]<<'\n' ;
set<pair<int,int> > s ;
FOR( i , n )
FOR( j , m )
dfs( i , j , 0 , s ) ;
if( f ){ cout<<"YES"<<'\n'; }
else cout<<"NO"<<'\n' ;
// cin.ignore() ;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment