C语言:L1-071 前世档案 (20 分)
文章目录
- 一、题目
- 二、方法1
- 1、思路
- 2、代码
一、题目
网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点。
现在我们把结论从左到右顺序编号,编号从 1 开始。这里假设回答都是简单的“是”或“否”,又假设回答“是”对应向左的路径,回答“否”对应向右的路径。给定玩家的一系列回答,请你返回其得到的结论的编号。
输入格式:
输入第一行给出两个正整数:N(≤30)为玩家做一次测试要回答的问题数量;M(≤100)为玩家人数。
随后 M 行,每行顺次给出玩家的 N 个回答。这里用 y 代表“是”,用 n 代表“否”。
输出格式:
对每个玩家,在一行中输出其对应的结论的编号。
输入样例:
3 4
yny
nyy
nyn
yyn
输出样例:
3
5
6
2
二、方法1
1、思路
本题编程难度不大,注意是考察找规律的能力,规律如下:
- 如果我们从第 1 行开始,从上往下数,则第 i 层所包含的结论个数为2(n-1)个;
- 从第 2 层开始,每做一次回答即下降一层,所包含的结论个数变为原来的一半;
- 若回答为“是”,则编号 sum 不变;若回答为“否”,则编号 sum + 本层所包含的结论个数 num;
2、代码
#include<stdio.h>
#include<math.h>
int main()
{int N, M, i, j, num = 0, sum = 1;scanf("%d %d", &N, &M);char str[50];for (i = 0; i < M; i++){num = pow(2, N - 1);sum = 1;scanf("%s", str);for (j = 0; j < N; j++){if (str[j] == 'n')sum += num;num /= 2;}printf("%d\n", sum);}return 0;
}
C语言:L1-071 前世档案 (20 分)相关推荐
- 前世档案 (20 分)
网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点. 现在我们把结论从左到右顺序编 ...
- 前世档案 (20分)
网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点. 现在我们把结论从左到右顺序编 ...
- 前世档案 (15 分)
7-111 前世档案 (15 分) 网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个 ...
- C语言程序练习-L1-032 Left-pad (20分)
L1-032 Left-pad (20分) 根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块, ...
- C语言程序练习-L1-011 A-B (20分)
L1-011 A-B (20分) 本题要求你计算A−B.不过麻烦的是,A和B都是字符串 -- 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B. 输入格式: 输入在2行中先 ...
- 18行代码解决:(C语言)L1-046 整除光棍 (20分)
立志用更少的代码做更高效的表达 这里所谓的"光棍",并不是指单身汪啦~ 说的是全部由1组成的数字,比如1.11.111.1111等.传说任何一个光棍都能被一个不以5结尾的奇数整除. ...
- PAT乙级|C语言|1032 挖掘机技术哪家强 (20分)
题目 为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第 1 行给出不超过10510^5105的正整数 N,即参赛 ...
- C语言:L1-039 古风排版 (20 分)
文章目录 一.题目 二.方法1 1.思路 2.代码 一.题目 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<10 ...
- C语言 —— pta寻找孪生素数 (20 分)
数学家希尔伯特在1900年国际数学家大会的报告上提出一个"孪生素数猜想",即: 存在无穷多个素数p,使得p + 2是素数.p和p+2这一对差为2的素数,被称为"孪生素数& ...
最新文章
- Java基础学习——多线程(线程间通信-生产者消费者代码示例)
- 观察者模式的应用场景
- Eclipse生成get,set方法,无参构造方法和有参构造方法
- java win10 通知_如何在Java中创建Windows通知
- 上一家单位离职的原因_面试官:你为什么从上一家公司离职?小伙更换答案后,立马被录取...
- 设计模式之禅之设计模式-状态模式
- linux 6.8 多网卡绑定,Linux6.1/6.5 双网卡绑定
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_4-1.单机和分布式应用的登录检验讲解...
- 元数据:数据治理的基石
- md快捷键(win)
- 【逆向工程】 disunity的使用
- android9手机电池管家,腾讯电池管家APP
- 命令激活Windows系统
- Python助你抢红包
- NOIP2015跳石头【二分答案(最小值最大化) | 贪心】
- 【互动媒体】”十二个一“的文艺创作的文本分析与可视化
- 从零开始配置腾讯云 CDN
- 3DMAX入门教程 | 命令面板 标准基本体的创建和参数
- Arduino按键控制MP3模块随机播放音乐(YX5300 MP3音乐模块)
- 多行溢出隐藏的解决办法
热门文章
- edgeR:差异表达分析
- 【angular5项目积累总结】一些正则积累
- 电信运营商进军SNS:肥肉还是鸡肋
- java程序调试步骤
- 手动搭建ABP2.1.3 Zero——基础框架
- 什么是DOM?你了解DOM树吗?
- 添加 中科大linux源,CentOS配置网易163 中科大 yum源
- 是谁卖了我的名字和电话号码?
- python定义类方法用来计算整数的减法运算_详解python的二元算术运算,为什么说减法只是语法糖?...
- 计算机在音乐教学中的运用,计算机音乐软件在音乐理论课教学中的运用