/**********************************************************************************/
/* Problem: a314 "C 導覽型機器人" from 2011 NPSC 國中組初賽 */
/* Language: CPP (1296 Bytes) */
/* Result: AC(4ms, 376KB) judge by this@ZeroJudge */
/* Author: lfs92002 at 2011-12-06 12:34:06 */
/**********************************************************************************/
#include<iostream>
using namespace std;
int main()
{
int T;
short map[12][12],h,w,x,y;
short start_x,start_y,sum,tx,ty,n,tn;
bool _b;
cin>>T;
while(T--)
{
for(y=0;y<=11;y++)
for(x=0;x<=11;x++)
map[y][x]=-1;
cin>>h>>w;
for(y=1;y<=h;y++)
for(x=1;x<=w;x++)
cin>>map[y][x];
for(y=1;y<=h;y++)//Find 0
{
for(x=1;x<=w;x++)
if(map[y][x]==0)
{
start_x=x;
start_y=y;
}
}
_b=true;
n=1;tn=0;//tn 步
while(_b)
{
if(map[start_y-1][start_x]==n)//UP
{
tn=0;
while(map[start_y-1][start_x]==n)
{
start_y--;
tn++;
n++;
}
cout<<'N'<<tn;
}
else if(map[start_y+1][start_x]==n)//DOWN
{
tn=0;
while(map[start_y+1][start_x]==n)
{
start_y++;
tn++;
n++;
}
cout<<'S'<<tn;
}
else if(map[start_y][start_x+1]==n)//RIGHT
{
tn=0;
while(map[start_y][start_x+1]==n)
{
start_x++;
tn++;
n++;
}
cout<<'E'<<tn;
}
else if(map[start_y][start_x-1]==n)//RIGHT
{
tn=0;
while(map[start_y][start_x-1]==n)
{
start_x--;
tn++;
n++;
}
cout<<'W'<<tn;
}
else
{
_b=false;
}
}
cout<<endl;
}
return 0;
}
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qICBQcm9ibGVtOiBhMzE0ICJDIOWwjuimveWei+apn+WZqOS6uiIgZnJvbSAyMDExIE5QU0Mg5ZyL5Lit57WE5Yid6LO9ICAgICAgICAgICAqLwovKiAgTGFuZ3VhZ2U6IENQUCAoMTI5NiBCeXRlcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogIFJlc3VsdDogQUMoNG1zLCAzNzZLQikganVkZ2UgYnkgdGhpc0BaZXJvSnVkZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qICBBdXRob3I6IGxmczkyMDAyIGF0IDIwMTEtMTItMDYgMTI6MzQ6MDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCgojaW5jbHVkZTxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKQp7CglpbnQgVDsKCXNob3J0IG1hcFsxMl1bMTJdLGgsdyx4LHk7CglzaG9ydCBzdGFydF94LHN0YXJ0X3ksc3VtLHR4LHR5LG4sdG47Cglib29sIF9iOwoJY2luPj5UOwoJd2hpbGUoVC0tKQoJewoJCWZvcih5PTA7eTw9MTE7eSsrKQoJCQlmb3IoeD0wO3g8PTExO3grKykKCQkJCW1hcFt5XVt4XT0tMTsKCQljaW4+Pmg+Pnc7CgkJZm9yKHk9MTt5PD1oO3krKykKCQkJZm9yKHg9MTt4PD13O3grKykKCQkJCWNpbj4+bWFwW3ldW3hdOwoJCWZvcih5PTE7eTw9aDt5KyspLy9GaW5kIDAKCQl7CgkJCWZvcih4PTE7eDw9dzt4KyspCgkJCQlpZihtYXBbeV1beF09PTApCgkJCQl7CgkJCQkJc3RhcnRfeD14OwoJCQkJCXN0YXJ0X3k9eTsKCQkJCX0KCQl9CgkJX2I9dHJ1ZTsKCQluPTE7dG49MDsvL3RuIOatpQoJCXdoaWxlKF9iKQoJCXsKCQkJaWYobWFwW3N0YXJ0X3ktMV1bc3RhcnRfeF09PW4pLy9VUAoJCQl7CgkJCQl0bj0wOwoJCQkJd2hpbGUobWFwW3N0YXJ0X3ktMV1bc3RhcnRfeF09PW4pCgkJCQl7CgkJCQkJc3RhcnRfeS0tOwoJCQkJCXRuKys7CgkJCQkJbisrOwoJCQkJfQoJCQkJY291dDw8J04nPDx0bjsKCgkJCX0KCQkJZWxzZSBpZihtYXBbc3RhcnRfeSsxXVtzdGFydF94XT09bikvL0RPV04KCQkJewoJCQkJdG49MDsKCQkJCXdoaWxlKG1hcFtzdGFydF95KzFdW3N0YXJ0X3hdPT1uKQoJCQkJewoJCQkJCXN0YXJ0X3krKzsKCQkJCQl0bisrOwoJCQkJCW4rKzsKCQkJCX0KCQkJCWNvdXQ8PCdTJzw8dG47CgkJCX0KCQkJZWxzZSBpZihtYXBbc3RhcnRfeV1bc3RhcnRfeCsxXT09bikvL1JJR0hUCgkJCXsKCQkJCXRuPTA7CgkJCQl3aGlsZShtYXBbc3RhcnRfeV1bc3RhcnRfeCsxXT09bikKCQkJCXsKCQkJCQlzdGFydF94Kys7CgkJCQkJdG4rKzsKCQkJCQluKys7CgkJCQl9CgkJCQljb3V0PDwnRSc8PHRuOwoJCQl9CgkJCWVsc2UgaWYobWFwW3N0YXJ0X3ldW3N0YXJ0X3gtMV09PW4pLy9SSUdIVAoJCQl7CgkJCQl0bj0wOwoJCQkJd2hpbGUobWFwW3N0YXJ0X3ldW3N0YXJ0X3gtMV09PW4pCgkJCQl7CgkJCQkJc3RhcnRfeC0tOwoJCQkJCXRuKys7CgkJCQkJbisrOwoJCQkJfQoJCQkJY291dDw8J1cnPDx0bjsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCV9iPWZhbHNlOwoJCQl9CgkJfQoJCWNvdXQ8PGVuZGw7Cgl9CglyZXR1cm4gMDsKfQo=
MgozIDYKJm1pbnVzOzEgJm1pbnVzOzEgJm1pbnVzOzEgJm1pbnVzOzEgJm1pbnVzOzEgJm1pbnVzOzEKJm1pbnVzOzEgMyAyIDEgMCAmbWludXM7MQombWludXM7MSAmbWludXM7MSAmbWludXM7MSAmbWludXM7MSAmbWludXM7MSAmbWludXM7MQo0IDUKJm1pbnVzOzEgMyA0IDUgNgombWludXM7MSAyICZtaW51czsxICZtaW51czsxICZtaW51czsxCiZtaW51czsxIDEgJm1pbnVzOzEgJm1pbnVzOzEgJm1pbnVzOzEKJm1pbnVzOzEgMCAmbWludXM7MSAmbWludXM7MSAmbWludXM7MQ==
2
3 6
−1 −1 −1 −1 −1 −1
−1 3 2 1 0 −1
−1 −1 −1 −1 −1 −1
4 5
−1 3 4 5 6
−1 2 −1 −1 −1
−1 1 −1 −1 −1
−1 0 −1 −1 −1