Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
苊的代码应该很好理解!分享!#include<iostream> using namespace std; int T,n,cnt,x,y,z; char str[20]; void go(int dir){ switch(dir){ case 0:x+=cnt;break; case 1:y+=cnt;break; case 2:z+=cnt;break; case 3:x-=cnt;break; case 4:y-=cnt;break; case 5:z-=cnt;break; default:break; } } int main(){ int dir,head,tmp,left;//各个方向不解释 cin>>T; while(T--){ cin>>n; x=y=z=dir=0,head=2,left=4; while(n--){ cin>>str>>cnt; switch(str[0]){ case'f':break; case'b':dir=(dir+3)%6,left=(left+3)%6;break; case'l':tmp=dir,dir=left,left=(tmp+3)%6;break; case'r':tmp=left,left=dir,dir=(tmp+3)%6;break; case'u':tmp=head,head=(dir+3)%6,dir=tmp;break; case'd':tmp=dir,dir=(head+3)%6,head=tmp;break; default:break; } go(dir); } cout<<x<<" "<<y<<" "<<z<<" "<<dir<<endl; } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator