poj 1835 宇航员

来源:互联网 发布:淘宝刷好评买家封号 编辑:程序博客网 时间:2024/04/25 18:00

http://poj.org/problem?id=1835





题意就是一个宇航员在太空中沿三维坐标系行走,我写的是最无脑的一种模拟,就是6个方向X4个面部方向X6种行为,一共144种情况去判断。





#include<iostream>using namespace std;int dir;int x,y,z;int fac;void mov(char a[],int dis){if(dir==0){if(fac==1){if(a[0]=='l'){dir=4;fac=1;y-=dis;}if(a[0]=='r'){dir=1;fac=1;y+=dis;}if(a[0]=='u'){dir=2;fac=3;z+=dis;}if(a[0]=='d'){dir=5;fac=1;z-=dis;}if(a[0]=='f'){dir=dir;fac=1;x+=dis;}if(a[0]=='b'){dir=3;fac=1;x-=dis;}}else if(fac==2){if(a[0]=='l'){dir=2;fac=4;z+=dis;}if(a[0]=='r'){dir=5;fac=2;z-=dis;}if(a[0]=='u'){dir=1;fac=2;y+=dis;}if(a[0]=='d'){dir=4;fac=2;y-=dis;}if(a[0]=='f'){dir=dir;fac=fac;x+=dis;}if(a[0]=='b'){dir=3;fac=4;x-=dis;}}else if(fac==3){if(a[0]=='l'){dir=1;fac=3;y+=dis;}if(a[0]=='r'){dir=4;fac=3;y-=dis;}if(a[0]=='u'){dir=5;fac=3;z-=dis;}if(a[0]=='d'){dir=2;fac=1;z+=dis;}if(a[0]=='f'){dir=dir;fac=fac;x+=dis;}if(a[0]=='b'){dir=3;fac=3;x-=dis;}}else if(fac==4){if(a[0]=='l'){dir=5;fac=4;z-=dis;}if(a[0]=='r'){dir=2;fac=2;z+=dis;}if(a[0]=='u'){dir=4;fac=4;y-=dis;}if(a[0]=='d'){dir=1;fac=4;y+=dis;}if(a[0]=='f'){dir=dir;fac=fac;x+=dis;}if(a[0]=='b'){dir=3;fac=2;x-=dis;}}}else if(dir==1){if(fac==1)   {if(a[0]=='l'){dir=0;fac=1;x+=dis;}if(a[0]=='r'){dir=3;fac=1;x-=dis;}if(a[0]=='u'){dir=2;fac=2;z+=dis;}if(a[0]=='d'){dir=5;fac=2;z-=dis;}if(a[0]=='f'){dir=dir;fac=fac;y+=dis;}if(a[0]=='b'){dir=4;fac=1;y-=dis;}}else if(fac==2){if(a[0]=='l'){dir=2;fac=3;z+=dis;}if(a[0]=='r'){dir=5;fac=3;z-=dis;}if(a[0]=='u'){dir=3;fac=2;x-=dis;}if(a[0]=='d'){dir=0;fac=2;x+=dis;}if(a[0]=='f'){dir=dir;fac=fac;y+=dis;}if(a[0]=='b'){dir=4;fac=4;y-=dis;}}else if(fac==3){if(a[0]=='l'){dir=3;fac=3;x-=dis;}if(a[0]=='r'){dir=0;fac=3;x+=dis;}if(a[0]=='u'){dir=5;fac=4;z-=dis;}if(a[0]=='d'){dir=2;fac=4;z+=dis;}if(a[0]=='f'){dir=dir;fac=fac;y+=dis;}if(a[0]=='b'){dir=4;fac=3;y-=dis;}}else if(fac==4){if(a[0]=='l'){dir=5;fac=1;z-=dis;}if(a[0]=='r'){dir=2;fac=1;z+=dis;}if(a[0]=='u'){dir=0;fac=4;x+=dis;}if(a[0]=='d'){dir=3;fac=4;x-=dis;}if(a[0]=='f'){dir=dir;fac=fac;y+=dis;}if(a[0]=='b'){dir=4;fac=2;y-=dis;}}}else if(dir==2){if(fac==1){if(a[0]=='l'){dir=1;fac=4;y+=dis;}if(a[0]=='r'){dir=4;fac=2;y-=dis;}if(a[0]=='u'){dir=0;fac=3;x+=dis;}if(a[0]=='d'){dir=3;fac=1;x-=dis;}if(a[0]=='f'){dir=dir;fac=fac;z+=dis;}if(a[0]=='b'){dir=5;fac=1;z-=dis;}}else if(fac==2){if(a[0]=='l'){dir=0;fac=4;x+=dis;}if(a[0]=='r'){dir=3;fac=2;x-=dis;}if(a[0]=='u'){dir=4;fac=3;y-=dis;}if(a[0]=='d'){dir=1;fac=1;y+=dis;}if(a[0]=='f'){dir=dir;fac=fac;z+=dis;}if(a[0]=='b'){dir=5;fac=4;z-=dis;}}else if(fac==3){if(a[0]=='l'){dir=4;fac=4;y-=dis;}if(a[0]=='r'){dir=1;fac=2;y+=dis;}if(a[0]=='u'){dir=3;fac=3;x-=dis;}if(a[0]=='d'){dir=0;fac=1;x+=dis;}if(a[0]=='f'){dir=dir;fac=fac;z+=dis;}if(a[0]=='b'){dir=5;fac=3;z-=dis;}}else if(fac==4){if(a[0]=='l'){dir=3;fac=4;x-=dis;}if(a[0]=='r'){dir=0;fac=2;x+=dis;}if(a[0]=='u'){dir=1;fac=3;y+=dis;}if(a[0]=='d'){dir=4;fac=1;y-=dis;}if(a[0]=='f'){dir=dir;fac=fac;z+=dis;}if(a[0]=='b'){dir=5;fac=2;z-=dis;}}}else if(dir==3){if(fac==1){if(a[0]=='l'){dir=1;fac=1;y+=dis;}if(a[0]=='r'){dir=4;fac=1;y-=dis;}if(a[0]=='u'){dir=2;fac=1;z+=dis;}if(a[0]=='d'){dir=5;fac=3;z-=dis;}if(a[0]=='f'){dir=dir;fac=fac;x-=dis;}if(a[0]=='b'){dir=0;fac=1;x+=dis;}}else if(fac==2){if(a[0]=='l'){dir=2;fac=2;z+=dis;}if(a[0]=='r'){dir=5;fac=4;z-=dis;}if(a[0]=='u'){dir=4;fac=2;y-=dis;}if(a[0]=='d'){dir=1;fac=2;y+=dis;}if(a[0]=='f'){dir=dir;fac=fac;x-=dis;}if(a[0]=='b'){dir=0;fac=4;x+=dis;}}else if(fac==3){if(a[0]=='l'){dir=4;fac=3;y-=dis;}if(a[0]=='r'){dir=1;fac=3;y+=dis;}if(a[0]=='u'){dir=5;fac=1;z-=dis;}if(a[0]=='d'){dir=2;fac=3;z+=dis;}if(a[0]=='f'){dir=dir;fac=fac;x-=dis;}if(a[0]=='b'){dir=0;fac=3;x+=dis;}}else if(fac==4){if(a[0]=='l'){dir=5;fac=2;z-=dis;}if(a[0]=='r'){dir=2;fac=4;z+=dis;}if(a[0]=='u'){dir=1;fac=4;y+=dis;}if(a[0]=='d'){dir=4;fac=4;y-=dis;}if(a[0]=='f'){dir=dir;fac=fac;x-=dis;}if(a[0]=='b'){dir=0;fac=2;x+=dis;}}}else if(dir==4){if(fac==1){if(a[0]=='l'){dir=3;fac=1;x-=dis;}if(a[0]=='r'){dir=0;fac=1;x+=dis;}if(a[0]=='u'){dir=2;fac=4;z+=dis;}if(a[0]=='d'){dir=5;fac=4;z-=dis;}if(a[0]=='f'){dir=dir;fac=fac;y-=dis;}if(a[0]=='b'){dir=1;fac=1;y+=dis;}}else if(fac==2){if(a[0]=='l'){dir=2;fac=1;z+=dis;}if(a[0]=='r'){dir=5;fac=1;z-=dis;}if(a[0]=='u'){dir=0;fac=2;x+=dis;}if(a[0]=='d'){dir=3;fac=2;x-=dis;}if(a[0]=='f'){dir=dir;fac=fac;y-=dis;}if(a[0]=='b'){dir=1;fac=4;y+=dis;}}else if(fac==3){if(a[0]=='l'){dir=0;fac=3;x+=dis;}if(a[0]=='r'){dir=3;fac=3;x-=dis;}if(a[0]=='u'){dir=5;fac=2;z-=dis;}if(a[0]=='d'){dir=2;fac=2;z+=dis;}if(a[0]=='f'){dir=dir;fac=fac;y-=dis;}if(a[0]=='b'){dir=1;fac=3;y+=dis;}}else if(fac==4){if(a[0]=='l'){dir=5;fac=3;z-=dis;}if(a[0]=='r'){dir=2;fac=3;z+=dis;}if(a[0]=='u'){dir=3;fac=4;x-=dis;}if(a[0]=='d'){dir=0;fac=4;x+=dis;}if(a[0]=='f'){dir=dir;fac=fac;y-=dis;}if(a[0]=='b'){dir=1;fac=2;y+=dis;}}}    else if(dir==5){    if(fac==1)  {if(a[0]=='l'){dir=4;fac=2;y-=dis;}if(a[0]=='r'){dir=1;fac=4;y+=dis;}if(a[0]=='u'){dir=0;fac=1;x+=dis;}if(a[0]=='d'){dir=3;fac=3;x-=dis;}if(a[0]=='f'){dir=dir;fac=fac;z-=dis;}if(a[0]=='b'){dir=2;fac=1;z+=dis;}}else if(fac==2){if(a[0]=='l'){dir=0;fac=2;x+=dis;}if(a[0]=='r'){dir=3;fac=4;x-=dis;}if(a[0]=='u'){dir=1;fac=1;y+=dis;}if(a[0]=='d'){dir=4;fac=3;y-=dis;}if(a[0]=='f'){dir=dir;fac=fac;z-=dis;}if(a[0]=='b'){dir=2;fac=4;z+=dis;}}else if(fac==3){if(a[0]=='l'){dir=1;fac=2;y+=dis;}if(a[0]=='r'){dir=4;fac=4;y-=dis;}if(a[0]=='u'){dir=3;fac=1;x-=dis;}if(a[0]=='d'){dir=0;fac=3;x+=dis;}if(a[0]=='f'){dir=dir;fac=fac;z-=dis;}if(a[0]=='b'){dir=2;fac=3;z+=dis;}}else if(fac==4){if(a[0]=='l'){dir=3;fac=2;x-=dis;}if(a[0]=='r'){dir=0;fac=4;x+=dis;}if(a[0]=='u'){dir=4;fac=1;y-=dis;}if(a[0]=='d'){dir=1;fac=3;y+=dis;}if(a[0]=='f'){dir=dir;fac=fac;z-=dis;}if(a[0]=='b'){dir=2;fac=2;z+=dis;}}}}int main(){int t;cin>>t;while(t--){        int n;        cin>>n;        x=y=z=0;        dir=0;        fac=1;        char a[11];        int dis;        for(int i=1;i<=n;i++)        {        cin>>a>>dis;        mov(a,dis);}cout<<x<<" "<<y<<" "<<z<<" "<<dir<<endl;}return 0;}


原创粉丝点击