当前位置: 首页 > news >正文

PTA L1-071 前世档案

L1-071 前世档案(20分)

网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点。

path.jpg

现在我们把结论从左到右顺序编号,编号从 1 开始。这里假设回答都是简单的“是”或“否”,又假设回答“是”对应向左的路径,回答“否”对应向右的路径。给定玩家的一系列回答,请你返回其得到的结论的编号。

输入格式:

输入第一行给出两个正整数:N(≤30)为玩家做一次测试要回答的问题数量;M(≤100)为玩家人数。

随后 M 行,每行顺次给出玩家的 N 个回答。这里用 y 代表“是”,用 n 代表“否”。

输出格式:

对每个玩家,在一行中输出其对应的结论的编号。

输入样例:

3 4
yny
nyy
nyn
yyn

输出样例:

3
5
6
2

题解:

/***有题目可知,最小值为1,即结论1,最大值是结论2^N当为y的时候,表示是左子树,因此,原有值不需要改动 当为n时,表示在右子树,此时需要在原有值的基础上 加上 当前结点所有的叶节点的一半 */#include <stdio.h>
#include <string.h>
#include <math.h>char str[35];
int N = 0, M = 0;int main()
{scanf("%d %d",&N, &M);int k = pow(2, N);    // 计算出最大结论值 int index = 0, n = 0;for(int i = 0; i < M; i++){ index = 1;    // 每次循环,都要将结论值赋值为1 n = k;        // 修改当前结点所拥有的叶节点,这个时候是根节点,所以置为 k scanf("%s",str);for(int j = 0; j < strlen(str); j++){ // 遍历输入的字符串 if(str[j] == 'n'){    // 若为 n ,则表示需要加上当前结点所拥有的叶节点个数的一半 index += (n / 2);}n /= 2;    // 每次循环,叶节点的数量都会减半 }printf("%d\n", index);    // 输出结果即可 }return 0;
}

相关文章:

PTA L1-071 前世档案

L1-071 前世档案&#xff08;20分&#xff09; 网络世界中时常会遇到这类滑稽的算命小程序&#xff0c;实现原理很简单&#xff0c;随便设计几个问题&#xff0c;根据玩家对每个问题的回答选择一条判断树中的路径&#xff08;如下图所示&#xff09;&#xff0c;结论就是路径终…...

解决mac下 Android Studio gradle 下载很慢,如何手动配置

抓住人生中的一分一秒&#xff0c;胜过虚度中的一月一年! 小做个动图开篇引题 前言 平时我们clone git 上项目&#xff0c;项目对应gradle版本本地没有&#xff0c;ide编译会自动下载&#xff0c;但是超级慢可能还下载失败&#xff0c;下面讲解下此问题如 如下图所示&#xff…...

第三篇 第17章 工程计量与支付

第三篇 工程计价 第17章 工程计量与支付 17.1 工程计量 17.1.1 工程计量的原则 承包人完成合同工程且应予计量的工程数量确定计量周期可以月为单位,也可以按其他时间节点、工程形象进度分段计量因承包人原因造成的超出合同工程范围施工或返工的工程量、发包人不予计量 17.1…...

[半导体检测-1]:半导体检测概述

前言&#xff1a; 半导体检测是半导体产业链中不可或缺的一环&#xff0c;它贯穿于产品生产制造流程的始终&#xff0c;对于提高产线良率、提升产品竞争实力具有关键作用。以下是对半导体检测的详细概述&#xff1a; 一、什么是半导体检测 半导体检测是指运用专业技术手段&a…...

公共字段自动填充

问题分析 总会有些公共字段&#xff0c;例如创建时间和创建人 实现思路 对mapper定义注解&#xff0c;使用切面思想来判断是不是更新和新增操作对于指定的操作来更新公共字段 自定义操作类型 package com.sky.enumeration;/*** 数据库操作类型*/ public enum OperationType {/*…...

超详细 Git 教程:二十篇博客,三万字干货

Git 是最流行的版本管理工具&#xff0c;可以说是任何程序员都应该掌握的工具。 当然&#xff0c;其他人也可以学习它用来进行版本控制 为此&#xff0c;我将之前学习 Git 时的笔记整理了下&#xff08;预计有二十篇&#xff09;&#xff0c;作为博客发出来&#xff0c;希望能帮…...

“出参”和“入参”的命名由来

有些开发者会用“入参”和“出参”来描述函数、方法或接口的参数和返回值。尽管我们基本都知道“入参”就是方法的参数&#xff0c;“出参”就是返回值。但是对于一些起步就是JAVA的开发者来说&#xff0c;可能并不清楚这两个名词的由来。这篇文章就来分享一下关于“入参”和“…...

webrtc gclient sync报错问题解决

报错信息 strp_current_url current_url[:-4] if current_url.endswith( ^^^^^^^^^^^^^^^^^^^^ AttributeError: ‘NoneType’ object has no attribute ‘endswith’ gclient syncsrc/base (ERROR) ---------------------------------------- [0:00:00] Started. ----------…...

FLUX模型,或许这几点你还未曾都了解,最详细的Flux模型介绍(附模型安装包)

当我们还在沉浸在惊叹和体验快手的Kolors模型之时&#xff0c;SD原开发团队组成的“黑森林”出的FLUX模型就袭来了。我们不得不感叹FLUX模型给我们带来的冲击&#xff0c;模型所绘制的画面质感、精细度的确让我们眼前一亮&#xff0c;之前发布的SD3开源模型给我们带来的些许失落…...

RAG(Retrieval-Augmented Generation)检索增强生成技术基础了解学习与实践

RAG&#xff08;Retrieval-Augmented Generation&#xff09;是一种结合了信息检索&#xff08;Retrieval&#xff09;和生成模型&#xff08;Generation&#xff09;的技术&#xff0c;旨在提高生成模型的性能和准确性。RAG 技术通过在生成过程中引入外部知识库&#xff0c;使…...

基于SpringBoot实现高性能缓存组件

1. 简介 为了体现我们的实力&#xff0c;首先我们要有造轮子的能力。这意味着我们不仅要熟练掌握现有的技术栈和框架&#xff0c;还要具备深厚的技术功底。通过自主设计和实现关键组件&#xff0c;如高性能缓存系统&#xff0c;我们能够深入理解技术背后的原理&#xff0c;掌握…...

【深度学习基础模型】递归神经网络 (Recurrent Neural Networks, RNN) 详细理解并附实现代码。

【深度学习基础模型】递归神经网络 (Recurrent Neural Networks, RNN) 【深度学习基础模型】递归神经网络 (Recurrent Neural Networks, RNN) 文章目录 【深度学习基础模型】递归神经网络 (Recurrent Neural Networks, RNN)1.算法原理介绍&#xff1a;递归神经网络 (Recurrent…...

python全栈学习记录(十九) hashlib、shutil和tarfile、configparser

hashlib、shutil和tarfile、configparser 文章目录 hashlib、shutil和tarfile、configparser一、hashlib二、shutil和tarfile1.shutil2.tarfile 三、configparser 一、hashlib hash是一种算法&#xff0c;该算法接受传入的内容&#xff0c;经过运算得到一串hash值。如果把hash…...

RL进阶(一):变分推断、生成模型、SAC

参考资料: 视频课程《CS285: Deep Reinforcement Learning, Decision Making, and Control》第18讲、第19讲,Sergey Levine,UCerkeley课件PDF下载:https://rail.eecs.berkeley.edu/deeprlcourse/主要内容:变分推断、生成模型、以及Soft Actor-Critic。变分推断在model-bas…...

WPF 绑定 DataGrid 里面 Button点击事件 TextBlock 双击事件

TextBlock双击事件 <DataGridTemplateColumn Width"*" Header"内标"><DataGridTemplateColumn.CellTemplate><DataTemplate><Grid><TextBlockBackground"Transparent"Tag"{Binding InternalId}"Text"…...

828华为云征文|华为云Flexus云服务器X实例Windows系统部署一键短视频生成AI工具moneyprinter

在追求创新与效率并重的今天&#xff0c;我们公司迎难而上&#xff0c;决定自主搭建一款短视频生成AI工具——MoneyPrinter&#xff0c;旨在为市场带来前所未有的创意风暴。面对服务器选择的难题&#xff0c;我们经过深思熟虑与多方比较&#xff0c;最终将信任票投给了华为云Fl…...

非标精密五金加工的技术要求

非标精密五金加工在现代制造业中占据着重要地位&#xff0c;其对于产品的精度、质量和性能有着较高的要求。以下是时利和整理的其具体的技术要求&#xff1a; 一、高精度的加工设备 非标精密五金加工需要先进的加工设备来保证加工精度。例如&#xff0c;高精度的数控机床是必不…...

新手小白怎么通过云服务器跑pytorch?

新手小白怎么通过云服务器跑pytorch&#xff1f;安装PyTorch的步骤可以根据不同的操作系统和需求有所差异&#xff0c;通过云服务器运行PyTorch的过程主要包括选择GPU云服务器平台、配置服务器环境、部署和运行PyTorch模型、优化性能等步骤。具体步骤如下&#xff1a; 第一步&a…...

Spring 全家桶使用教程

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

Spark SQL性能优化高频面试题及答案

目录 高频面试题及答案1. 如何通过分区&#xff08;Partitioning&#xff09;优化Spark SQL查询性能&#xff1f;2. 什么是数据倾斜&#xff08;Data Skew&#xff09;&#xff1f;如何优化&#xff1f;3. 如何使用广播&#xff08;Broadcast&#xff09;优化Join操作&#xff…...

云原生链路观测平台 openobserve + fluent-bit,日志收集

grpc-opentracing https://github.com/grpc-ecosystem/grpc-opentracing openobserve fluent-bit 为啥会选择这个组合 一个 rust 写的一个是c写的&#xff0c;性能和内存方面不用担心&#xff0c;比java 那套好太多了 openobserve 文档 &#xff1a;https://openobserve.ai/…...

Android 车载应用开发指南 - CarService 详解(下)

车载应用正在改变人们的出行体验。从导航到娱乐、从安全到信息服务&#xff0c;车载应用的开发已成为汽车智能化发展的重要组成部分。而对于开发者来说&#xff0c;如何将自己的应用程序无缝集成到车载系统中&#xff0c;利用汽车的硬件和服务能力&#xff0c;是一个极具挑战性…...

【Linux网络 —— 网络基础概念】

Linux网络 —— 网络基础概念 计算机网络背景网络发展 初始协议协议分层协议分层的好处 OSI七层模型TCP/IP五层(或四层)模型 再识协议为什么要有TCP/IP协议&#xff1f;什么是TCP/IP协议&#xff1f;TCP/IP协议与操作系统的关系所以究竟什么是协议&#xff1f; 网络传输基本流程…...

el-form动态标题和输入值,并且最后一个输入框不校验

需求&#xff1a;给了固定的label&#xff0c;叫xx单位&#xff0c;要输入单位的信息&#xff0c;但是属性名称都一样的&#xff0c;UI画图也是表单的形式&#xff0c;所以改为动态添加的形式&#xff0c;实现方式也很简单&#xff0c;循环就完事了&#xff0c;连着表单校验也动…...

一,初始 MyBatis-Plus

一&#xff0c;初始 MyBatis-Plus 文章目录 一&#xff0c;初始 MyBatis-Plus1. MyBatis-Plus 的概述2. 入门配置第一个 MyBatis-Plus 案例3. 补充说明&#xff1a;3.1 通用 Mapper 接口介绍3.1.1 Mapper 接口的 “增删改查”3.1.1.1 查询所有记录3.1.1.2 插入一条数据3.1.1.3 …...

安卓13删除下拉栏中的关机按钮版本2 android13删除下拉栏关机按钮

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 顶部导航栏下拉可以看到,底部这里有个设置按钮,点击可以进入设备的设置页面,这里我们将更改为删除,不同用户通过这个地方进入设置。我们之前写过一个文章也是一样的删除…...

快递物流单号识别API接口代码

官网&#xff1a;快递鸟 API参数 一、接口描述/说明 &#xff08;1&#xff09;该接口仅对运单号做出识别&#xff0c;识别可能属于的一家或多家快递公司。 &#xff08;2&#xff09;接口并不返回物流轨迹&#xff0c;用户可结合即时查询接口和订阅查询接口完成轨迹查询、订…...

AI时代的程序员:如何保持和提升核心竞争力

1.引言 随着AIGC&#xff08;如 ChatGPT、Midjourney、Claude 等&#xff09;大语言模型的快速崛起&#xff0c;AI辅助编程工具逐渐成为程序员工作的重要组成部分。这一转变不仅改变了工作方式&#xff0c;更深刻影响了程序员的职业角色和技术路径。有人担心&#xff0c;AI将取…...

Oracle 数据库常用命令与操作指南

Oracle 数据库是企业级系统中常用的数据库管理系统&#xff0c;掌握基础的命令可以让你在日常管理中更加高效。本指南将介绍几条常用的 Oracle 数据库命令&#xff0c;涵盖用户权限管理、修改用户密码、删除用户、以及其他日常操作。 目录 授权用户操作权限使用最高权限登录 O…...

spring boot项目对接人大金仓

先确认一下依赖 第一 是否引入了mybatis-plus多数据源&#xff0c;如果引入了请将版本保持在3.5.0以上 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>${dynam…...