/*
POJ - 1835
一个宇航员,告诉你他怎么走了之后
问最后他朝向哪儿,坐标多少
单纯的模拟
模拟的时候
记录下 前、后、左、右、上、下就行
(其实记录前左好像就行了)
*/
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <string>
#define pi 3.1415927
#define ll long long
using namespace std;
struct node
{
int qian;
int hou;
int zuo;
int you;
int shang;
int xia;
} f;
void back()
{
swap(f.qian,f.hou);
swap(f.zuo,f.you);
}
void right()
{
int a;
a=f.qian;
f.qian=f.you;
f.you=f.hou;
f.hou=f.zuo;
f.zuo=a;
}
void left()
{
int a;
a=f.qian;
f.qian=f.zuo;
f.zuo=f.hou;
f.hou=f.you;
f.you=a;
}
void up()
{
int a;
a=f.qian;
f.qian=f.shang;
f.shang=f.hou;
f.hou=f.xia;
f.xia=a;
}
void down()
{
int a;
a=f.qian;
f.qian=f.xia;
f.xia=f.hou;
f.hou=f.shang;
f.shang=a;
}
void forward()
{
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
int x=0,y=0,z=0;
f.qian=0;
f.hou=3;
f.zuo=4;
f.you=1;
f.shang=2;
f.xia=5;
while(n--)
{
string s;
int cnt;
cin>>s;
scanf("%d",&cnt);
if(s=="left") left();
if(s=="right") right();
if(s=="forward") forward();
if(s=="back") back();
if(s=="up") up();
if(s=="down") down();
if(f.qian==0)
x+=cnt;
if(f.qian==1)
y+=cnt;
if(f.qian==2)
z+=cnt;
if(f.qian==3)
x-=cnt;
if(f.qian==4)
y-=cnt;
if(f.qian==5)
z-=cnt;
}
printf("%d %d %d %d\n",x,y,z,f.qian);
}
return 0;
}
POJ - 1835
一个宇航员,告诉你他怎么走了之后
问最后他朝向哪儿,坐标多少
单纯的模拟
模拟的时候
记录下 前、后、左、右、上、下就行
(其实记录前左好像就行了)
*/
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <string>
#define pi 3.1415927
#define ll long long
using namespace std;
struct node
{
int qian;
int hou;
int zuo;
int you;
int shang;
int xia;
} f;
void back()
{
swap(f.qian,f.hou);
swap(f.zuo,f.you);
}
void right()
{
int a;
a=f.qian;
f.qian=f.you;
f.you=f.hou;
f.hou=f.zuo;
f.zuo=a;
}
void left()
{
int a;
a=f.qian;
f.qian=f.zuo;
f.zuo=f.hou;
f.hou=f.you;
f.you=a;
}
void up()
{
int a;
a=f.qian;
f.qian=f.shang;
f.shang=f.hou;
f.hou=f.xia;
f.xia=a;
}
void down()
{
int a;
a=f.qian;
f.qian=f.xia;
f.xia=f.hou;
f.hou=f.shang;
f.shang=a;
}
void forward()
{
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
int x=0,y=0,z=0;
f.qian=0;
f.hou=3;
f.zuo=4;
f.you=1;
f.shang=2;
f.xia=5;
while(n--)
{
string s;
int cnt;
cin>>s;
scanf("%d",&cnt);
if(s=="left") left();
if(s=="right") right();
if(s=="forward") forward();
if(s=="back") back();
if(s=="up") up();
if(s=="down") down();
if(f.qian==0)
x+=cnt;
if(f.qian==1)
y+=cnt;
if(f.qian==2)
z+=cnt;
if(f.qian==3)
x-=cnt;
if(f.qian==4)
y-=cnt;
if(f.qian==5)
z-=cnt;
}
printf("%d %d %d %d\n",x,y,z,f.qian);
}
return 0;
}