/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / hackerrank / uva / uvalive, spoj), 3235 (lightoj) /// mail: raihanruhin@ (yahoo / gmail / facebook) /// blog: ruhinraihan.blogspot.com #include<bits/stdc++.h> using namespace std; #define SET(a) memset(a,-1,sizeof(a)) #define CLR(a) memset(a,0,sizeof(a)) #define PI acos(-1.0) #define MOD 1000000007 #define MX 100010 char ss[105][105], face; int main() { ios_base::sync_with_stdio(0);cin.tie(0); int n, m, sl, tc, kk=1, stx, sty, nx, ny; string s; while(cin>>n>>m>>sl && n) { for(int i=0;i<n;i++) for(int j=0;j<m;j++) { cin>>ss[i][j]; if(ss[i][j]=='N' || ss[i][j]=='S' || ss[i][j]=='L' || ss[i][j]=='O') stx=i, sty=j, face=ss[i][j]; } cin>>s; //cout<<stx<<" "<<sty<<" "<<face<<endl; int cnt=0; for(int i=0;i<sl;i++) { if(s[i]=='D') { if(face=='N') face='L'; else if(face=='L') face='S'; else if(face=='S') face='O'; else if(face=='O') face='N'; } else if(s[i]=='E') { if(face=='L') face='N'; else if(face=='S') face='L'; else if(face=='O') face='S'; else if(face=='N') face='O'; } else { nx=stx, ny=sty; if(face=='N') nx=stx-1; else if(face=='L') ny=sty+1; else if(face=='S') nx=stx+1; else if(face=='O') ny=sty-1; //cout<<nx<<" "<<ny<<endl; if(nx>=0 && ny>=0 && nx<n && ny<m) { if(ss[nx][ny]!='#') { if(ss[nx][ny]=='*') { cnt++; ss[nx][ny]='.'; } stx=nx, sty=ny; } } } } cout<<cnt<<'\n'; } return 0; }
Wednesday, 3 December 2014
UVa 11831 Sticker Collector Robot Solution
Subscribe to:
Post Comments (Atom)
sersilarma Tashibra Martinez Here
ReplyDeletewatismeephy