L1-071 前世档案

L1-071 前世档案

分数 20

作者 陈越

单位 浙江大学

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

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

输入格式:

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

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

输出格式:

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

输入样例:

3 4

yny

nyy

nyn

yyn

输出样例:

3

5

6

2

题解

cpp 复制代码
# include<bits/stdc++.h>
using namespace std;

int n, m;

int main()
{
	cin >> n >> m;
	
	while(m --)
	{
		string ans;
		int res = 0;
		cin >> ans;
		for (char c: ans)
		{
			res = res * 2;
			if (c == 'n')
			{
				res = res + 1;
			}
		}
		cout << res + 1 << endl;
	}
	
	return 0;
} 
相关推荐
郝学胜-神的一滴8 分钟前
中级OpenGL教程 022:探秘三维世界的血脉传承——物体父子关系与矩阵递归奥义
c++·线性代数·unity·矩阵·游戏引擎·unreal engine·opengl
tkevinjd29 分钟前
力扣148-排序链表
算法·leetcode·链表
ch0sen1pm41 分钟前
刚学完 CAS 原子操作,我花了一晚上写了三个无锁队列
c++
qeen8741 分钟前
【C++】vector的模拟实现详解(二)
c++·学习·算法·迭代器·stl
j7~1 小时前
【C++】C++ 继承全解析:从基本语法到菱形继承的底层原理
开发语言·c++·继承·组合·虚继承·#暑假·七月创作之星博客挑战赛
数行拙笔1 小时前
C++客户端---String类型
开发语言·c++·bootstrap
草莓熊Lotso1 小时前
【Linux网络】深入理解Linux IO多路复用:从本质到select服务器实战
linux·运维·服务器·c语言·网络·数据库·c++
selfsongs13 小时前
指针、内存管理、现代 C++ 特性
c++
可编程芯片开发13 小时前
基于MATLAB的PEF湍流风场生成器模拟与仿真
算法
罗西的思考14 小时前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (9)--- Reward Judging
人工智能·算法·机器学习