[iHooya]1月15日寒假班作业解析

news/2024/2/28 0:08:31

过滤多余的空格
一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。

输入:一行,一个字符串(长度不超过200),句子的头和尾都没有空格。
输出:过滤之后的句子。
样例输入Hello world.This is c language.
样例输出Hello world.This is c language.

#include<bits/stdc++.h>
using namespace std;
//字符串写法
int main()
{string s;getline(cin,s);for(int i=0;i<s.length();i++)if(s[i]!=' '||(s[i]==' '&&s[i+1]!=' '))cout<<s[i];		return 0;
}
#include<bits/stdc++.h>
using namespace std;
//字符串写法
int main()
{char arr[201];cin.getline(arr,201);for(int i=0;i<strlen(arr);i++)if(s[i]!=' '||(s[i]==' '&&s[i+1]!=' '))cout<<s[i];		return 0;
}

爬楼
已知楼梯的数量,可以每次走2级或者3级,求不同的走法数。例如:楼梯一共有7级,一共3种方法:2 2 3或者 2 3 2 或者 3 2 2。

输入:输入包含若干行,每行包含一个正整数N,代表楼梯级数,1<= N<= 50。 最后一行为0,表示测试结束。
输出:不同的走法数,每一行输入对应一行输出

样例输入
7
0
样例输出3

在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;int pl(int n)
{if (n == 1)return 0;else if (n == 2)return 1;else if (n == 3)return 1;elsereturn pl(n - 2) + pl(n - 3);
}
int main()
{int n;
//可以这样写
//	while (cin >> n)
//	{
//		cout << pl(n) << endl;
//	}
//也可以这样写while (1){cin >> n;if (n == 0)break;cout << pl(n) << endl;}return 0;
}

爬楼梯
树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数 例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级 也可以第一次走两级,第二次走一级,一共3种方法。

输入:输入包含若干行,每行包含一个正整数N,代表楼梯级数,1 <= N <= 30
输出:不同的走法数,每一行输入对应一行输出

样例输入
5
8
10

样例输出
8
34
89

#include <iostream>
using namespace std;
//没啥可说的斐波那契数列
int N;
int stairs(int n)
{if( n < 0)return 0;if( n == 0 )return 1;return stairs(n-1) + stairs(n-2);
}
int main()
{while(cin >> N) {cout << stairs(N) << endl;}return 0;
}

踩方格
有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:
a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;
b. 走过的格子立即塌陷无法再走第二次;
c. 只能向北、东、西三个方向走;
请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。

输入:允许在方格上行走的步数n(n <= 20)
输出:计算出的方案数量
样例输入2
样例输出7
在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;int walk(int n, int m)
{if (n > 1)if (m == 1)return walk(n - 1, 1) + walk(n - 1, 2) + walk(n - 1, 3);else if (m == 2)return walk(n - 1, 1) + walk(n - 1, 2);else if (m == 3)return walk(n - 1, 1) + walk(n - 1, 3);else if (n == 1)return 1;
}int main()
{int n = 0;cin >> n;cout << walk(n, 1) + walk(n, 2) + walk(n, 3);return 0;
}

http://www.ppmy.cn/news/12372.html

相关文章

【AcWing寒假每日一题2023】Day11——技能升级

目录问题描述思路与代码问题描述 原题链接&#x1f517;&#xff1a;4656. 技能升级 小蓝最近正在玩一款 RPG 游戏。 他的角色一共有 NNN 个可以加攻击力的技能。 其中第 iii 个技能首次升级可以提升 AiA_iAi​ 点攻击力&#xff0c;以后每次升级增加的点数都会减少 BiB_iBi​…

大数据必学Java基础(一百二十三):Maven常见命令介绍

文章目录 Maven常见命令介绍 一、install 二、clean 三、compile 四、package Maven常见命令介绍 Maven的命令非常多,我们只是讲解常用的几个:(所有命令都可以在控制台运行的)

JS入门到精通详解(7)

操作元素样式ele.style访问或设置行内样式window.getComputedStyle()//获取非行内样式 //标准浏览器 // alert(getComputedStyle(o_div,1).width); //IE浏览器 // alert(o_div.currentStyle.width); //兼容 对象 属性 function getStyle(obj,attr){return obj.cur…

Linux学习【教程+实操】【超基础】

链接:资料提取码&#xff1a;6klp 今日内容Linux简介Linux安装网卡设置安装SSH连接工具Linux和Windows目录结构对比Linux常用命令Linux命令初体验文件目录操作命令拷贝移动命令打包压缩命令文本编辑命令查找命令Linux软件安装软件安装方式安装jdk&#xff08;采用二进制发布包…

深入理解数据结构 —— 并查集

什么是并查集 并查集是一种数据结构&#xff0c;主要能够高效地实现以下两个功能 给出图中任意两点a&#xff0c;b&#xff1a; union(a,b) &#xff1a;将a&#xff0c;b所在的集合合并起来isConnected(a,b) &#xff1a;问这a&#xff0c;b两点能否通过任意路径连接起来 …

汇编友好的C编程技巧及其相互调用方法

【摘要】主要介绍如何优化C语言编程来产生最快速度和紧凑的机器指令&#xff1b;汇编与C/C混合编程的方法&#xff1b;ARM C/C编译器介绍 一、C语言编程优化 1. 尽量简化条件表达式 在ARM指令体系中&#xff0c;基本每个指令代码都有4位来表示条件码&#xff0c;这类条件运算…

c++ - 第24节 - c++的IO流

1.C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf()与printf()。 scanf(): 从标准输入设备(键盘)读取数据&#xff0c;并将值存放在变量中。printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。注意宽度输出和精度输出控制。C语言借助了相应的缓冲区…

Acwing---446.回文日期

回文日期1.题目2.基本思想3.代码实现1.题目 在日常生活中&#xff0c;通过年、月、日这三个要素可以表示出一个唯一确定的日期。 牛牛习惯用 8 位数字表示一个日期&#xff0c;其中&#xff0c;前 4 位代表年份&#xff0c;接下来 2 位代表月份&#xff0c;最后 2 位代表日期…

Jedis

redis 应用场景 缓存&#xff08;数据查询、短连接、新闻内容、商品内容等等&#xff09;聊天室的在线好友列表任务队列。&#xff08;秒杀、抢购、12306等等&#xff09;应用排行榜网站访问统计数据过期处理&#xff08;可以精确到毫秒分布式集群架构中的session分离 Windows…

字符串+内存函数(C语言)

目录 函数介绍&#xff1a; 字符串函数&#xff1a; strlen 一道迷惑笔试题&#xff1a; strcpy strcat strcmp strncpy strncat strncmp strstr strtok strerror 字符分类函数&#xff1a; iscntrl isspace isdigit isxdigit islower isupper isalpha isalnum ispunct isgrap…

Servlet的实战用法(表白墙前后端)

作者&#xff1a;~小明学编程 文章专栏&#xff1a;JavaEE 格言&#xff1a;热爱编程的&#xff0c;终将被编程所厚爱。 目录 服务器版本的表白墙 创建项目 约定前后端交互接口 获取全部留言 发表新的留言 服务端代码 创建Message类 创建DBUtil类 创建MessageServlet…

年度征文|一个业余电脑玩家的30年(1992-2022)

《论语为政》&#xff1a;“五十而知天命”。岁月真的是一把刀&#xff0c;一晃已过不惑之年&#xff0c;还有几天就要进入知非之年。不论知非还是知天命&#xff0c;反正是花甲将至而从心所欲了。年少时因某种不合机缘&#xff0c;错与IT界擦肩而过&#xff0c;每每想起就扼腕…

Java学习(88)Java集合——案例:商品信息管理(HashMap增删改查)

Java集合——案例&#xff1a;商品信息管理&#xff08;HashMap增删改查&#xff09;需求分析分析商品信息类&#xff08;属性、方法&#xff09;商品类的属性、构造方法和重写toString()方法商品信息添加&#xff0c;输出商品信息商品信息添加优化&#xff08;判断商品编号id是…

iperf工具源码下载、编译、编译报错解决、以及测试网络带宽

1、iperf源码下载 (1)源码下载地址&#xff1a;https://iperf.fr/iperf-download.php; (2)有的版本源码下载下来并不能直接编译成功&#xff0c;可能会报缺少头文件或者编译选项的错误&#xff0c;要么去解决这些错误&#xff0c;要么换个版本再试一下&#xff1b; (3)在我的环…

【并查集】【Union-Find】

Union-Find算法基本概念并查集模板1. [参考leetcode](https://leetcode.cn/problems/number-of-provinces/solution/python-duo-tu-xiang-jie-bing-cha-ji-by-m-vjdr/)2.平衡优化和重量优化基本概念 并查集是一种数据结构并查集这三个字&#xff0c;一个字代表一个意思。 并&a…

20多年老码农的IT学习之路

20年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0c;年薪税前150万多&#xff0e;最近公司业绩不好&#xff0c;有感觉工作不保&#xff0c;所以又捡起了编程&#xff0c;开始学习Golang&#xff0c;Angular等。我不是985&#xff0c;211也不是海归&#xff0c;我…

C语言:分支语句和循环语句

往期文章 C语言&#xff1a;初识C语言 目录往期文章前言1. 什么是语句2. 分支语句&#xff08;选择结构&#xff09;2.1 if语句2.2 switch语句3. 循环语句3.1 while循环3.2 for循环3.3 do while 循环3.4 goto语句后记前言 趁热打铁啊。写完该系列第一篇博客我就来劲了&#x…

2022年终总结---权衡好工作和生活

2022总结 【校园】2022年6月研究生顺利毕业&#xff0c;让下文的一切才变的有机会。感谢师弟送学长毕业&#xff0c;感谢在最后时刻各位舍友帮忙送材料&#xff0c;怀念最后一个月一起打球的时光。 【工作】2022年6月入职阿里&#xff0c;成为打工人。在这个大的平台&#xf…

【LeetCode每日一题】【2023/1/15】2293. 极大极小游戏

文章目录2293. 极大极小游戏方法1&#xff1a;双指针2293. 极大极小游戏 LeetCode: 2293. 极大极小游戏 简单\color{#00AF9B}{简单}简单 给你一个下标从 0 开始的整数数组 nums &#xff0c;其长度是 2 的幂。 对 nums 执行下述算法&#xff1a; 设 n 等于 nums 的长度&#x…

C生万物 | 详解程序环境和预处理【展示程序编译+链接全过程】

&#x1f451;作者主页&#xff1a;Fire_Cloud_1 &#x1f3e0;学习社区&#xff1a;烈火神盾 &#x1f517;专栏链接&#xff1a;万物之源——C 文章目录一、程序的翻译环境和执行环境二、详解编译链接1、前言小知识&#x1f50d;2、翻译环境【important】2.1 编译① 预编译【…
最新文章