- 博客(15)
- 收藏
- 关注
原创 deepseek分析地库取宝问题,太牛X了
哦,我现在得看看这个代码哪里有问题。题目是关于地宫取宝的,小明只能向右或向下走,每次如果当前格子的宝物价值比之前拿的都大,可以选择拿或者不拿。最后到出口时恰好拿了k个宝物,求有多少种不同的方案。那这个代码应该用DFS来遍历所有可能的路径,然后统计符合条件的数目对吧?先看一下代码的结构。主函数里输入n、m、k,然后读取每个格子的价值到a数组。然后调用dfs(1,1,0,0),初始的时候小明在起点,还没有拿宝物,所以num是0,maxv可能初始化为0?或者是不是应该初始化为-1?因为如果第一个宝物的价值是0的话
2025-04-09 21:59:33
424
原创 while(cin>>n>>m)在C++中这个怎么解释?
cin >> n >> m` 是从标准输入中依次读取两个值,并分别赋值给变量 `n` 和 `m`。- 如果输入流中有有效数据,`cin >> n >> m` 会成功提取数据,并将 `n` 和 `m` 设置为相应的值。- **灵活**:可以方便地扩展为读取更多变量,例如 `while (cin >> a >> b >> c)`。- **简洁高效**:`while (cin >> n >> m)` 结构简洁,能够方便地处理多组输入数据。### 2. **`cin >> n >> m` 的含义**
2025-04-02 20:28:24
215
原创 int----string相互转换
char(num%10+‘0’),首先我们需要知道char类型和int类型想做运算是低类型向高类型转换。即char类型向int类型转换。num%10+‘0’这里的‘0’虽然是字符类型,但是在进行int类型时,其int值为0所对应的ASCII码对应的值。int转换成string。string转换成int。
2025-04-01 19:24:32
388
原创 char(num % 10 +‘0‘)为什么就是对的?而char(num % 10 )就不对?
**`char(num % 10 + '0')`**:将`num % 10`的结果加上`'0'`的ASCII码值,然后转换为`char`类型,得到的是对应的数字字符。- 如果`num % 10`的结果是`3`,那么`char(3)`表示的是ASCII码为3的字符,而不是字符`'3'`。`num % 10`计算的是`num`除以10的余数,结果是一个**整数**,范围是`0`到`9`。通过加上`'0'`,我们可以将整数`0`到`9`映射到对应的字符`'0'`到`'9'`。
2025-04-01 12:37:06
400
原创 stringstream(字符流,主要是字符串转换成整数,整数转换成字符串)
是 C++ 标准库中的一个非常有用的类,它结合了字符串和流的特性,允许你像处理流一样处理字符串。这使得它在字符串格式化、解析和转换等操作中非常方便。(主要是字符串转换成整数,整数转换成字符串)
2025-01-16 20:08:25
308
原创 在C++中std::string 和string有啥区别呀?
推荐使用:明确且安全,避免命名冲突。谨慎使用:虽然代码更简洁,但可能导致命名冲突,特别是在大型项目中。使用:只引入需要的类型,避免命名冲突。后面我又看见既然string是用std::string来的,那么有没有str::int函数?AI告诉我不存在str::int,因为C++中直接有int类型.
2025-01-16 18:55:03
457
原创 在操作系统中,分配I/O设备为什么是先分配设备,再是控制器,再是通道,先通道,控制器最后设备可以吗?
控制器是管理特定类型设备(如磁盘控制器、网络控制器等)的硬件,它负责处理设备的具体操作细节。在操作系统中,分配I/O设备的过程通常遵循一定的顺序,这是因为不同的硬件组件在I/O操作中扮演不同的角色,并且它们之间的交互需要遵循特定的逻辑。:通道是连接CPU和I/O设备的逻辑路径,它允许数据在CPU和设备之间传输。在分配了控制器之后分配通道,是因为通道需要与控制器协同工作,以确保数据能够正确地在CPU和设备之间传输。因此,通常不建议先分配通道,再分配控制器,最后分配设备。
2024-12-31 18:06:18
259
原创 C++复习资料
访问权限修饰符:公有的(public)、私有的(private)和保护的(protected);公有部分:一些操作(即成员函数),是提供给用户的接口功能;私有部分:一些数据成员,通常用来描述该类中的对象的属性;只有成员函数或者经过特殊说明的函数才可以引用它们。//指针是没有办法直接引用的。
2024-12-31 18:05:13
832
2
原创 操作系统:为什么有的进程都阻塞了还可以进行I/O操作?
同时,我们需要的是,在设备分配的安全性考虑中,安全分配就是当一个进程获得了I/O设备,便进入阻塞状态,同时该进程的所以资源不保持(即释放掉),这样就破坏了死锁必要条件中的"请求和保持资源"条件,但是不安全状态的分配方式中,即使该进程阻塞了好像也不释放资源(因为书上的原话是<因为它可能具备"请求和保持条件">,具体情况要依cpu处理死锁的情况而定).因此可能会发生死锁.- 对于I/O操作,进程可能会在发起I/O请求后进入阻塞状态,但在等待I/O完成时,它们通常不会保持CPU资源,但可能会保持I/O设备资源。
2024-12-16 21:35:46
482
原创 在C++中Delete指针的用法
在 C++/C 语言中,使用 `delete` 删除指针所指向的内存后,并没有系统自动将指针设置为 `nullptr` 的机制。尽管如此,将指针设置为 `nullptr` 后使用 `delete` 是一个好习惯,因为这可以避免野指针问题。` 这一步,尤其是在简单的示例或短代码片段中。- 在某些情况下,开发者可能知道在 `delete` 之后不会再使用该指针,因此省略了设置 `nullptr` 的步骤。- 有时,开发者可能忘记了将指针设置为 `nullptr`,或者认为这不是必要的,这可能导致野指针问题。
2024-12-15 21:12:28
686
原创 dev C++调试中出现项目没有调试信息,或者No such file or directory.怎么办?
现在问题有很多,网上说是因为源文件下有很多的main函数,所以选择失败,所以我觉得最暴力的,也是最简单的方法是给这个文件另存一个地址,或者存桌面我觉得都可以。主要是两方面的工作,第一,点击‘工具’-‘编译选项’-‘设定编译器配置中改成debug’第二,代码生成/优化中点击连接器,产生调试信息改成‘yes’首先回答第一个问题,要是出现了这个问题应该怎么办?
2024-12-11 17:06:05
529
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人