#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cctype>
#include <stack>
#include <queue>
#include <list>
#include <vector>
#include <map>
#include <sstream>
#include <cmath>
#include <bitset>
#include <utility>
#include <set>
#include <numeric>
using namespace std;
typedef vector<int> vi;
typedef pair<int,int> ii;
typedef vector<ii> vii;
int main()
{
freopen("11831 - Sticker Collector Robot.txt","r", stdin);
int n,m,s,i,j,si,sj,c;
while(scanf("%d %d %d", &n, &m, &s) && (n || m || s))
{
char cell[110][110],d;
string instruct;
for(i=0; i<n; i++)
cin >> cell[i];
bool flag = false;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
if(cell[i][j] == 'N' || cell[i][j] == 'S' || cell[i][j] == 'L' || cell[i][j] == 'O')
{
si=i;
sj=j;
d = cell[i][j];
flag = true;
break;
}
if(flag)
break;
}
cin >> instruct;
c = 0;
for(i=0; i<s; i++)
{
if(instruct[i] == 'D')
{
if(d == 'N')
d = 'L';
else if(d == 'S')
d = 'O';
else if(d == 'L')
d = 'S';
else if(d == 'O')
d = 'N';
}
else if(instruct[i] == 'E')
{
if(d == 'N')
d = 'O';
else if(d == 'S')
d = 'L';
else if(d == 'L')
d = 'N';
else if(d == 'O')
d = 'S';
}
else
{
if(d == 'N' && si != 0)
{
if(cell[si-1][sj] != '#')
si--;
if(cell[si][sj] == '*')
{
c++;
cell[si][sj] = '.';
}
}
else if(d == 'S' && si != n-1)
{
if(cell[si+1][sj] != '#')
si++;
if(cell[si][sj] == '*')
{
c++;
cell[si][sj] = '.';
}
}
else if(d == 'L' && sj != m-1)
{
if(cell[si][sj+1] != '#')
sj++;
if(cell[si][sj] == '*')
{
c++;
cell[si][sj] = '.';
}
}
if(d == 'O' && sj != 0)
{
if(cell[si][sj-1] != '#')
sj--;
if(cell[si][sj] == '*')
{
c++;
cell[si][sj] = '.';
}
}
}
}
printf("%d\n",c);
}
return 0;
}
Tuesday, July 28, 2015
11831 - Sticker Collector Robot
Subscribe to:
Post Comments (Atom)
Triathlon
Triathlon - CodeChef # include < bits/stdc++.h > using namespace std ; # define fi first # define se second # define mp ...
-
# include < bits/stdc++.h > using namespace std ; int main ( ) { int T , c = 1 ; double r1 , r2 , h , p ; // ...
-
# include < bits/stdc++.h > using namespace std ; int main ( ) { long long T , S , l , n , c = 1 ; // freopen(&qu...
-
# include < bits/stdc++.h > using namespace std ; int main ( ) { int T , n , p , q , c = 1 , i , w , t , arry [ 50 ] ; ...
No comments:
Post a Comment