POJ 1835 宇航员 (模拟&三维向量旋转)

宇航员问题 宇航员,模拟,算法,宇航员在太空移动,根据他的移动过程确定她最终的坐标,以及最终他的面向方向 立即下载
宇航员

Time Limit:  2000MS
Memory Limit: 30000K

Description

问题描述: 
  宇航员在太空中迷失了方向,在他的起始位置现在建立一个虚拟xyz坐标系,称为绝对坐标系,宇航员正面的方向为x轴正方向,头顶方向为z轴正方向,则宇航员的初始状态如下图所示: 

现对六个方向分别标号,x,y,z正方向分别为0,1,2,负方向分别为3,4,5;称它们为绝对方向。宇航员在宇宙中只沿着与绝对坐标系xyz轴平行的方向行走,但是他不知道自己当前绝对坐标和自己面向的绝对方向。 

任务描述: 
  请根据宇航员对自己在相对方向上移动的描述确定宇航员最终的绝对坐标和面向的绝对方向。对在相对方向上移动的描述及意义如下: 
forward x  向前走x米。 
back x 先转向后,再走x米。 
left x 先转向左,再走x米。 
right x 先转向右,再走x米。 
up x 先面向上,再走x米。 
down x 先面向下,再走x米。 
其中向上和向下如下图所示: 

Input

第一行一个正整数m,表示测试数据的组数。每组测试数据第一行是一个正整数n(1<=n<=10000)表示宇航员行走的次数,下面n行每行输入一次相对行走,格式如上所述,其中( 1 <= x <= 10000 为正整数)。

Output

对于每组输入数据输出一行,x y z p, 中间用空格隔开,x y z是宇航员的位置的绝对坐标,p是宇航员面向的绝对方向编号(0<=p <=5)。

Sample Input

1
6
left 10
right 11
up 12
down 13
forward 14
back 15

Sample Output

23 -10 12 3

思路:用一个三维向量记录人的身体朝向的信息——面朝的方向,身体竖直方向向上的方向,人左臂平伸的方向。
6种变换就是对这个向量的操作。(详见代码)

注意:题目是左手坐标系

完整代码:
/*172ms,356KB*/

#include<cstdio>

char s[10];

int main()
{
	int t, n;
	int x, y, z, face, left, ver, temp, d; ///ver:vertical
	scanf("%d", &t);
	while (t--)
	{
		scanf("%d", &n);
		x = y = z = 0;
		face = 0, left = 4, ver = 2;
		while (n--)
		{
			scanf("%s %d", s, &d);
			if (s[0] == 'b')  face = (face + 3) % 6, left = (left + 3) % 6;
			else if (s[0] == 'l')  temp = face, face = left, left = (temp + 3) % 6;
			else if (s[0] == 'r')  temp = left, left = face, face = (temp + 3) % 6;
			else if (s[0] == 'u')  temp = face, face = ver, ver = (temp + 3) % 6;
			else if (s[0] == 'd')  temp = ver, ver = face, face = (temp + 3) % 6;
			if (face == 0)  x += d;
			else if (face == 1)  y += d;
			else if (face == 2)  z += d;
			else if (face == 3)  x -= d;
			else if (face == 4)  y -= d;
			else  z -= d; ///face == 5
		}
		printf("%d %d %d %d\n", x, y, z, face);
	}
	return 0;
}

IVP 2021 UNETR: Transformers for 3D Medical Image Segmentation 动机 具有跟踪和扩展路径的全卷积神经网络(FCNNs)(如编码器和解码器),近年来在各种医学图像分割应用中显示出了突出的地位。在这些体系结构中,编码器通过学习全局上下文表示来扮演一个不可或缺的角色,该全局上下文表示将进一步用于解码器的语义输出预测。 卷积层作为FCNN的主要构造块,其局部性限制了此类网络学习长时空间依赖的能力。 在NLP领域,基于transformer的模型已经在各种任务中实现了最先进的基准。transformer中的自我注意机制使他们能够动态地突出词序列的重要特征并学习其长时依赖关系。这 阅读详情

相关推荐

AOSP14 Launcher3——手势上滑关键类AbsSwipeHandler解析

通过精密的事件监听、状态管理和对系统动画 API 及 Launcher 内部组件的协调,实现了复杂而流畅的手势导航体验。它的抽象设计允许子类(如。是 Quickstep (Launcher3 的手势导航实现) 中处理。的核心逻辑抽象基类。这个非常核心且复杂的类。)定制特定的回家动画逻辑。好的,我们来深入分析。

Micheal_Yang's Blog 1519

POJ - 1835 - 模拟

题目链接:POJ-1835 题目大意: 宇航员在太空中行走,给定一个三维坐标系(x,y,z轴的正方向标号分别为0,1,2,负方向标号分别为3,4,5),他的起始位置为原点,面向X轴正方向(标号为0)。然后给你n中操作,格式为 X   Y  ,X为相对位置上的转向的方向(forward-向前,back-向后,left-向左,right向右,down-向下,up-向上) ,Y为转向后向面对着的

Code-Dreamer的博客 1053

使用pytorch构建LSTM_AE模型的两种方式

2.基本LSTM_Unit计算——基本LSTM_AE结构 3.自定义LSTM_Unit计算——自定义LSTM_AE结构 1.LSTM-Encoder-Decoder模型结构及简要解析 图基本lstm计算单元

qq_37840762的博客 7275

POJ 1835 宇航员 解题报告

题意&amp;amp;样例:宇航员在太空中迷失了方向,在他的起始位置现在建立一个虚拟xyz坐标系,称为绝对坐标系,宇航员正面的方向为x轴正方向,头顶方向为z轴正方向,则宇航员的初始状态如下图所示:现对六个方向分别标号,x,y,z正方向分别为0,1,2,负方向分别为3,4,5,称它们为绝对方向。宇航员在宇宙中只沿着与绝对坐标系xyz轴平行的方向行走,但是他不知道自己当前绝对坐标和自己面向的绝对方向。请根据宇...

FrozenAllen的博客 647

面试中常考的数学题——截木棍、圆上取点、赛马、红蓝墨水,测试毒药、坐到正确座位问题

文章目录1.将一根木棒截成三段,问能够组成三角形的概率;2.在圆上任取三点,问能够组成锐角、直角、钝角三角形的概率;3.共有25匹马,找出最快的3匹,只有5个赛道,每次比赛只能得到5匹马的速度排序,最少需要多少次比赛;4 有两瓶红蓝墨水,体积一样,现在从红墨水中舀一勺加入蓝墨水中,搅拌均匀后,在从蓝墨水中舀一勺加到红墨水中,试问这两瓶墨水哪瓶纯度更高。 1.将一根木棒截成三段,问能够组成三角形的概率; 来源:https://blog.youkuaiyun.com/weixin_41245919/article/deta

weixin_41558411的博客 4906

TPC好像是这么回事儿

TPC(Transmit Power Control)发送功率控制,本觉得就是控制一下发送功率,原理很简单,但看原版协议死活每搞懂什么意思,恼羞成怒!!!! 后来又看了一些贴子和cisco的相关功能介绍,再回头看协议,好像是这么一回事: 1、所谓TPC,是AP控制STA的发送功率的一种手段。在802.11d中,已定义了使用Country Element传递区域无线通信规定的信道和最大发送功率信息: 通过获取这些信息,STA可以确定自己应该遵守什么规则,可以用什么发送功率在哪些信道上通信。 2

两只勤劳的蜜蜂 8630

宇航员 【POJ - 1835】【模拟】

题目链接 问题描述:   宇航员在太空中迷失了方向,在他的起始位置现在建立一个虚拟xyz坐标系,称为绝对坐标系,宇航员正面的方向为x轴正方向,头顶方向为z轴正方向,则宇航员的初始状态如下图所示: 现对六个方向分别标号,x,y,z正方向分别为0,1,2,负方向分别为3,4,5;称它们为绝对方向。宇航员在宇宙中只沿着与绝对坐标系xyz轴平行的方向行走,但是他不知道自己当前绝对坐标和自己面向的绝对方向。 任务描述:   请根据宇航员对自己在相对方向上移动的描述确定宇航员最终的绝对坐标和面向的绝...

既然弱小,就只顾变强就是了 469

淘宝滑块验证码破解:Python模拟鼠标轨迹过关详解

本文全面解析了淘宝滑块验证码的破解流程,从机制分析、图像处理、轨迹模拟到自动化实现,提供了完整的Python解决方案。随着2026年风控技术的升级,单纯依靠轨迹模拟已经难以达到高通过率,未来趋势是结合强化学习生成更自然的轨迹,并利用深度神经网络进行端到端的验证码绕过。此外,各大平台正逐步推广"无感验证"和"行为式验证码",将验证融入到用户正常操作中,这对爬虫技术提出了更高的挑战。技术本身是中立的,关键在于使用者的目的。希望本文能帮助开发者更好地理解验证码对抗技术,从而设计出更安全的防御系统。

2201_76125261的博客 97

C语言——宇航员

Description   宇航员在太空中迷失了方向,在他的起始位置现在建立一个虚拟xyz坐标系,称为绝对坐标系,宇航员正面的方向为x轴正方向,头顶方向为z轴正方向,则宇航员的初始状态如下图所示:  现对六个方向分别标号,x,y,z正方向分别为0,1,2,负方向分别为3,4,5,称它们为绝对方向。宇航员在宇宙中只沿着与绝对坐标系xyz轴平行的方向行走,但是他不知道自己当前绝对坐标和自己面向的...

肥不溜秋大梅子 907

【ComfyUI】【Nunchaku】【diffusers报错解决】秋叶整合包安装 Nunchaku 报错的解决方法

最近在折腾 AI 绘图时,我尝试在秋叶的 ComfyUI 整合包中安装 `ComfyUI-nunchaku` 插件(版本 0.3.3),结果启动后直接报错,提示无法从 `accelerate.utils.memory` 中导入 `clear_device_cache`,让我一度怀疑插件是否兼容。查阅了一堆 issue 和源码之后,总算找到了原因和解决方法。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1857

AI安全护栏评测:TrustedExecBench如何量化评估大模型防护能力

在人工智能和机器学习领域,模型安全对齐是确保AI系统可靠、可控的核心技术。其原理是通过设计安全机制(即“护栏”)来约束模型行为,防止生成有害、偏见或越界内容。这项技术的核心价值在于平衡AI能力与风险管控,是可信AI部署的基石。应用场景广泛覆盖内容审核、对话系统、代码生成等需要人机交互的领域。本文聚焦的TrustedExecBench项目,正是针对“护栏”性能量化评估这一痛点,提供了一个标准化、自动化的开源评测框架。该工具通过构建多维度的恶意测试套件,并引入基于模型的动态评判机制,能够系统性地检验大语言模型在

weixin_42525428的博客 378

POJ 1835宇航员

宇航员 Time Limit: 2000MS Memory Limit: 30000K Total Submissions: 6882 Accepted: 2932 Description 问题描述:   宇航员在太空中迷失了方向,在他的起始位置现在建立一个虚拟xyz坐标系,称为绝对坐标系,宇航员正面的方向为x轴正方向,头顶方向为z轴正方向,则宇航员的初始状态如下图所...

加油吧,少年! 564

【系统架构设计师】二十三、通信系统架构设计理论与实践①

通信网络主要形式:局域网、广域网、移动通信网。 局域网网络架构有 4 种类型:单核心架构、双核心架构、环型架构、层次型架构。 广域网属于多级网络,通常由骨干网、分布网、接入网组成。在网络规模较小时,可仅由骨干网和接入网组成。通常,在大型网络构建中,通过广域网将分布在各地域的局域网互连起来,形成一个大的网络。 移动通信网为移动互联网提供了强有力的支持,尤其是5G 网络为个人用户、垂直行业等 提供了多样化的服务。

帅次的博客 3763

POJ 1835 : 宇航员 - 模拟,三维向量旋转

(OJ 寒假马拉松 第五场 E题)从别人博客看到较精炼的解法思路:用一个三维向量记录人的身体朝向的信息——面朝的方向,身体竖直方向向上的方向,人左臂平伸的方向。6种变换就是对这个向量的操作。(详见代码)注意:题目是左手坐标系另外可以参考这里,方法相同。#include#includeusing namespace std;int main(){ char s[10]; int t,n,x,y,z,

Booky的专栏 781

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

百练OJ:1835:宇航员

百练OJ:1835:宇航员。宇航员在太空中迷失了方向,在他的起始位置现在建立一个虚拟xyz坐标系,称为绝对坐标系,宇航员正面的方向为x轴正方向,头顶方向为z轴正方向

康雨城 967

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

poj 1835 宇航员(模拟)

宇航员Description问题描述:   宇航员在太空中迷失了方向,在他的起始位置现在建立一个虚拟xyz坐标系,称为绝对坐标系,宇航员正面的方向为x轴正方向,头顶方向为z轴正方向,则宇航员的初始状态如下图所示: 现对六个方向分别标号,x,y,z正方向分别为0,1,2,负方向分别为3,4,5;称它们为绝对方向。宇航员在宇宙中只沿着与绝对坐标系xyz轴平行的方向行走,但是他不知道自己当前绝对坐

Darkarts 928

POJ1835-模拟宇航员行走

根据题目,即要知道怎么得到x,y,z,pos(即绝对方向或者说面向). 1.只需能够左转就行,其它转向都可以在其基础上实现.  所以要列出所有 情况下左转所得到的面向pos ; 2.要能够每次行走 保存其pos和x,y,z的值. #include #include #include using namespace std; int arr[6][6]; char direction[20

Ignorance 1020

poj 1835 宇航员

//这一模拟题,我之前有接触过,我记得刚开始不会做,然后看了别人的代码,然后再自己写一遍出来,现在再来做的时候,发现自己原来还不会做,所以这次我没有看别人的代码,完全靠自己 //的思考解决了这一题!事实证明:没有经过自己思考的东西是记不住和学不会的,以后需要勤动动脑才可以!谨记! //最开始我思考这一模拟题的时候,卡住我思路的是:一直想将宇航员的状态在数组中一一表示出来,然后就可以轻松的求出他的坐

yzl_rex 1463

POJ 1835 大模拟

宇航员

u011041349的专栏 1198

POJ - 1835(找规律)

/*     POJ - 1835     一个宇航员,告诉你他怎么走了之后     问最后他朝向哪儿,坐标多少     单纯的模拟     模拟的时候     记录下 前、后、左、右、上、下就行     (其实记录前左好像就行了) */ #include #include #include #include #include #define pi 3

a892573486的博客 356

poj1835

向量运算 简单题 View Code #include &amp;lt;iostream&amp;gt;#include &amp;lt;cstdio&amp;gt;#include &amp;lt;cstdlib&amp;gt;#include &amp;lt;cstring&amp;gt;using namespace std;struct Point{ int x, y, z;} pos, head, dir;int n;void up...

weixin_34384557的博客 161

POJ 1835

为了切切题,随便找了到模拟题做。虽然是模拟题,但是好像也没有那么显然。如果按照位置全部判断一下肯定是不行的。分析问题时,要从本质入手。首先要找到它的数学公式。 这是个三维空间上的问题,首先需要两个参数来表示其状态,一个是head(身体的方向),一个是face(脸的朝向)。我们要做的就是更新这两个变量。题目中用0,1,2,3,4,5来表示6个方向,这其实是一种误导,用一维表示怎么能推出数学式子呢。...

weixin_30326741的博客 162

宇航员

Description 问题描述:   宇航员在太空中迷失了方向,在他的起始位置现在建立一个虚拟xyz坐标系,称为绝对坐标系,宇航员正面的方向为x轴正方向,头顶方向为z轴正方向,则宇航员的初始状态如下图所示: 现对六个方向分别标号,x,y,z正方向分别为0,1,2,负方向分别为3,4,5;称它们为绝对方向。宇航员在宇宙中只沿着与绝对坐标系xyz轴平行的方向行走,但是他不知道自己当前绝对坐标和自

chedan666的博客 632

POJ 1835 宇航员

原题 http://poj.org/problem?id=1835相比普通的平面移动,本题的空间立体移动的难点在于方向的改变,平面移动有4种方向,但是立体移动有6*4种方向(面朝的方向有6种,每面有4种不同的上方),枚举所有情况上万行代码也是可以过的,但是我们可以找到规律,就是每次变换的其实是一种旋转,比如向右走,是前后左右做一个90度的变换,向上走是做一个上下前后90度的变换,总共有6种改变方向

ShineRoyal 1186

poj1835 宇航员

宇航员在太空中可以上下左右前后六个方向移动 当他移动时面部朝向也随之改变 他听从指令,改变自己的相对方向和距离 最终输出他的绝对方向。 输入m测试数据组数,n行走次数,每步包含方向和距离 输出绝对坐标,以及面向方向p http://poj.org/problem?id=1835 ①三维坐标方向需要由三个变量控制是本题的关键 ②然后发现x,y,z正方向分别为0,1,2,负方向分别为3...

weixin_30621919的博客 200
上一篇: POJ 1780 Code (十进制格雷码&欧拉回路)
下一篇: UVa 11234 Expressions (二叉树重建&由叶往根的层次遍历)
synapse7
博客等级 码龄14年 432粉丝 701原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值