poj 1815
来源:互联网 发布:淘宝订单信息编辑 编辑:程序博客网 时间:2024/06/06 08:55
模拟,标记六个方向的位置为0,1,2。。。,然后记录当前位置六种走法所要朝向的方向,而我们所需要的就是每个位置的这几个方向,很显然,其中的front所得到的方向就是当前所朝向的方向。
#include <iostream>#include <cstdio>#include <cstring>using namespace std;struct node{ int front,back,left,right,up,down;};node b_ch(node op){ node tem; tem.front=op.back; tem.back=op.front; tem.left=op.right; tem.right=op.left; tem.up=op.up; tem.down=op.down; return tem;}node l_ch(node op){ node tem; tem.front=op.left; tem.back=op.right; tem.left=op.back; tem.right=op.front; tem.up=op.up; tem.down=op.down; return tem;}node r_ch(node op){ node tem; tem.front=op.right; tem.back=op.left; tem.left=op.front; tem.right=op.back; tem.up=op.up; tem.down=op.down; return tem;}node u_ch(node op){ node tem; tem.front=op.up; tem.back=op.down; tem.left=op.left; tem.right=op.right; tem.up=op.back; tem.down=op.front; return tem;}node d_ch(node op){ node tem; tem.front=op.down; tem.back=op.up; tem.left=op.left; tem.right=op.right; tem.up=op.front; tem.down=op.back; return tem;}int main(){ int m; cin>>m; while(m--) { int n; scanf("%d",&n); char op[30]; int i,dis; node td; td.front=0,td.back=3,td.left=4,td.right=1,td.up=2,td.down=5; int x=0,y=0,z=0; for(i=0;i<n;i++) { scanf("%s %d",op,&dis); if(strcmp(op,"forward")==0) { td=td; } else if(strcmp(op,"back")==0) {td=b_ch(td);} else if(strcmp(op,"left")==0) {td=l_ch(td);} else if(strcmp(op,"right")==0) {td=r_ch(td);} else if(strcmp(op,"up")==0) {td=u_ch(td);} else {td=d_ch(td);} if(td.front==0) {x+=dis;} else if(td.front==1) {y+=dis;} else if(td.front==2) {z+=dis;} else if(td.front==3) {x-=dis;} else if(td.front==4) {y-=dis;} else {z-=dis;} } printf("%d %d %d %d\n",x,y,z,td.front ); } return 0;}
- poj 1815
- POJ 1815 Friendship
- poj 1815(最大流来求割点)
- poj 1815 Friendship
- poj 1815 Friendship
- poj 1815 Friendship
- POJ-1815-Friendship
- POJ 1815 最小点割集
- POJ 1815 SAP+枚举
- POJ 1815 Friendship
- POJ 1815 Friendship
- POJ 1815 Friendship 笔记
- poj 1815 最小点割集
- POJ
- poj
- POJ
- POJ
- poj
- poj 1204
- ios 设置UITableViewcell透明
- poj 3128
- poj 3368
- 十个利用矩阵乘法解决的经典题目
- poj 1815
- poj 3928
- poj 2287
- Jenkins+Maven+SVN搭建自动部署,自动测试环境
- hdu 3714
- poj 3691
- POJ-2739-Sum of Consecutive Prime Numbers
- hdu 2825
- hdu 4547