当前位置: 首页 > 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;
}
http://www.lryc.cn/news/445865.html

相关文章:

  • 解决mac下 Android Studio gradle 下载很慢,如何手动配置
  • 第三篇 第17章 工程计量与支付
  • [半导体检测-1]:半导体检测概述
  • 公共字段自动填充
  • 超详细 Git 教程:二十篇博客,三万字干货
  • “出参”和“入参”的命名由来
  • webrtc gclient sync报错问题解决
  • FLUX模型,或许这几点你还未曾都了解,最详细的Flux模型介绍(附模型安装包)
  • RAG(Retrieval-Augmented Generation)检索增强生成技术基础了解学习与实践
  • 基于SpringBoot实现高性能缓存组件
  • 【深度学习基础模型】递归神经网络 (Recurrent Neural Networks, RNN) 详细理解并附实现代码。
  • python全栈学习记录(十九) hashlib、shutil和tarfile、configparser
  • RL进阶(一):变分推断、生成模型、SAC
  • WPF 绑定 DataGrid 里面 Button点击事件 TextBlock 双击事件
  • 828华为云征文|华为云Flexus云服务器X实例Windows系统部署一键短视频生成AI工具moneyprinter
  • 非标精密五金加工的技术要求
  • 新手小白怎么通过云服务器跑pytorch?
  • Spring 全家桶使用教程
  • Spark SQL性能优化高频面试题及答案
  • 云原生链路观测平台 openobserve + fluent-bit,日志收集
  • Android 车载应用开发指南 - CarService 详解(下)
  • 【Linux网络 —— 网络基础概念】
  • el-form动态标题和输入值,并且最后一个输入框不校验
  • 一,初始 MyBatis-Plus
  • 安卓13删除下拉栏中的关机按钮版本2 android13删除下拉栏关机按钮
  • 快递物流单号识别API接口代码
  • AI时代的程序员:如何保持和提升核心竞争力
  • Oracle 数据库常用命令与操作指南
  • spring boot项目对接人大金仓
  • 《操作系统 - 清华大学》1 -2:操作系统概述 —— 什么是操作系统