2 solutions
-
0
读取整个命令(string),对其中字符迭代处理
#include <iostream> using namespace std; void forward(int n,int& x,int& y); void backward(int n,int& x,int& y); void left(int n,int& x,int& y); void right(int n,int& x,int& y); int main(){ int n,t; cin>>n>>t; int x,y; string cmd; while(t--){ cin>>x>>y; cin>>cmd; for(char ch: cmd){ switch(ch){ case 'f': forward(n,x,y); break; case 'b': backward(n,x,y); break; case 'l': left(n,x,y); break; case 'r': right(n,x,y); break; } // if(ch == 'f') forward(n,x,y); // else if(ch == 'b') backward(n,x,y); // else if(ch == 'l') left(n,x,y); // else right(n,x,y); } cout<<x<<' '<<y<<endl; } } void forward(int n,int& x,int& y){ if(y+1<=n) y++; } void backward(int n,int& x,int& y){ if(y-1>=1) y--; } void left(int n,int& x,int& y){ if(x-1>=1) x--; } void right(int n,int& x,int& y){ if(x+1<=n) x++; }
Information
- ID
- 40
- Time
- 1000ms
- Memory
- 512MiB
- Difficulty
- 1
- Tags
- # Submissions
- 190
- Accepted
- 98
- Uploaded By