摘要: 深度优先搜索的关键在于解决“当下该如何做”。至于“下一步如何做”则与“当下如何做”是一样的。 dfs(step)函数的主要功能就是解决当你在第step种条件时你该怎么办,通常的方法就是把每一种可能去尝试一遍(一般使用for循环遍历)。当前这一步解决后便进入下一步dfs(step+1),下一步的解决方 阅读全文
posted @ 2022-03-06 08:52 白色飞碟 阅读(114) 评论(0) 推荐(0)
摘要: 头文件:#include <stdlib.h> char *ptr = (char *)malloc(10); // 分配10个字节的内存空间,用来存放字符 malloc()最初始是void* 就是啥都没有 可以根据需要把它定义成char* 或者int*或者struct node * 都可以。 阅读全文
posted @ 2022-03-06 08:50 白色飞碟 阅读(145) 评论(0) 推荐(0)
摘要: strlen不加\0 sizeof 加\0. strlen 是一个函数,sizeof 是一个单目运算符。 strlen 用来计算指定字符串 str 的长度,但不包括结束字符(即 null 字符)。 sizeof 它的参数可以是数组、指针、类型、对象、函数等。相对于函数 strlen,它包括结束字符 阅读全文
posted @ 2022-03-06 08:48 白色飞碟 阅读(61) 评论(0) 推荐(0)
摘要: 最常用的三种: While(~scanf(“d”,&a) (波浪线~表示取反) While(scanf(“%d”,&a)==1) While(cin>>n) 阅读全文
posted @ 2022-03-06 08:46 白色飞碟 阅读(117) 评论(0) 推荐(0)
摘要: 递归在递归次数多的时候空间复杂度跟时间复杂度都特别高,故需再用动态规划思路,在递归的过程中不断记录计算过的dfs(),需要的时候可以直接调用. 比如经典母牛问题: long long fab(int month) { if(cow[month] == 0) { // 没有算过的月份,数组内存的是0 阅读全文
posted @ 2022-03-06 08:44 白色飞碟 阅读(208) 评论(0) 推荐(0)
摘要: printf(): char name[]="好耶!"; printf("%s\n",name); 输出: 好耶! puts(): char name[]="好耶!"; puts(name); 输出:好耶! 可以看出puts()比printf()更简洁,而且puts()函数会自动在后面加一个换行符。 阅读全文
posted @ 2022-03-06 08:36 白色飞碟 阅读(171) 评论(0) 推荐(0)
摘要: 这里主要介绍一个参数,%[ ],这个参数的意义是读入一个字符集合。[ ]是个集合的标志,因此%[ ]特指读入此集合所限定的那些字符,比如%[A-Z]是输入大写字母,一旦遇到不在此集合的字符便停止。如果集合的第一个字符是“^”,这说明读取不在“^“后面集合的字符,即遇到”^“后面集合的字符便停止。此时 阅读全文
posted @ 2022-03-06 08:21 白色飞碟 阅读(659) 评论(0) 推荐(0)
摘要: 当 cin 读取数据时,它会传递并忽略任何前导白色空格字符(空格、制表符或换行符)。一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取。 C++解决办法: 可以使用一个叫做 getline 的 C++ 函数。此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象 阅读全文
posted @ 2022-03-06 08:20 白色飞碟 阅读(132) 评论(0) 推荐(0)
摘要: #include <bits/stdc++.h> C语言不能用,编译可能会报错。 阅读全文
posted @ 2022-03-06 08:17 白色飞碟 阅读(130) 评论(0) 推荐(0)