小单刷题笔记之迷宫(bfs)
高校 IT 实力排行榜 (2213)




请编写您的帖子内容
社区频道(6)
显示侧栏
卡片版式
全部
新生报道
校友交流
知识分享
求职就业
Ada助手
最新发布
最新回复
标题
阅读量
内容评分
精选

66
评分
回复


小单刷题笔记之迷宫(bfs)
bfs较之dfs,通俗点说,我觉得bfs就像一颗石头扔进水里荡起的涟漪,一层一层的向外扩散。而dfs则是深度优先遍历每条路径。
复制链接 扫一扫
分享

67
评分
回复


小单刷题笔记之滑雪问题(DP)
有什么学不会的,给我冲!所以递推公式应该是————maxLen(x2,y2)=max(maxLen(x2,y2),manLen(x1,y1)+1
复制链接 扫一扫
分享

65
评分
回复


天平称重 (巧用进制)
题目:用天平称重时,我们希望尽可能少的砝码组合称出尽可能多的重量,如果有无限个砝码,但它们的重量是1,3,9,27..等三的指数幂,神奇的是用它们组合可以称出任意的重量。本题要求实现,用户给出重量,给出砝码组合的方案。例如:用户输入5,程序输出:9-3-1;这道题拿到以后我先自己随便写了一个暴力解法写的很乱而且很慢,就不放在上面了。思路:这道题可以往进制转换,我们把用户制定的重量转换成三进制那么我们会发现一个很有意思的规律。比如,用户输入5,转换成三进制形...
复制链接 扫一扫
分享

68
评分
回复


<string.h>常用函数使用,和<stdlib.h>malloc()free()的使用
#include <stdio.h>#include<string.h>#include<stdlib.h>int main(){//strlen 的使用 printf("%d\n",strlen("hello"));//strcmpchar s1[]={"abc"};char s2[]={"Abc"};printf("%d",strcmp(s1,s2)) ;//相同返回0 前面大返回1 前面小返回-1 printf("%d",'a'-'A'); .
复制链接 扫一扫
分享

64
评分
回复


typedef和union
//typedef和union#include<stdio.h>typedef int zheng;//把中间的替换成最后的那个名字 union point{ int x; int y;}a;int main(){ zheng i=5; printf("%d",i); scanf("%d",&a.x ); scanf("%d",&a.y ); printf("%d",a.x );//union和struct不同的是 union共用一块空间 .
复制链接 扫一扫
分享

63
评分
回复


C语言链表
代码如下#include<stdio.h>#include<stdlib.h>typedef struct _node{ int value; struct _node *next; } Node;int main(int argc,char const *argv[]){ Node*head=NULL; int number; do{ scanf("%d",&number); if(number!=-1){ //add to li
复制链接 扫一扫
分享

65
评分
回复


快速排序c
//快排练习#include<iostream>#include<cstdio>using namespace std;int a[101],n;void quicksort(int left,int right){ int temp=a[left];//标值 int i=left;//i当左侧指针 int j=right; if(left>right){ return; } while(i!=j){ while(a[j]>=temp&.
复制链接 扫一扫
分享

64
评分
回复


c++ STL的简单用法总结(sort)
c++ STL的简单用法总结(sort)
复制链接 扫一扫
分享

70
评分
回复


校门外的树
描述某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。输入第一行有两个整数L(1 <=
复制链接 扫一扫
分享

66
评分
回复


第i位替换
描述写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第i位和m的第i位相同,其他位和n相同。请使用【一行代码】补全bitManipulation1函数使得程序能达到上述的功能#include <iostream>using namespace std;int bitManipulation1(int n, int m, int i) {// 在此处补充你的代码}int main() { int n, m, i, t; cin >> t;
复制链接 扫一扫
分享

66
评分
回复


关于有符号数的位移(笔记)
对于有符号数,在右移时,符号位(即最高位)将一起移动,并且大多数C/C++编译器规定,如果原符号位为1,则右移时高位就补充1,原符号位为0,则右移时高位就补充0;这也就是为什么,-1无论怎么右移,结果还是-1....
复制链接 扫一扫
分享

64
评分
回复


找第一个只出现一次的字符
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int small(char a[]){ int arr[130]={0}; for(int i=0;a[i];i++){ arr[a[i]]++; } for(int j=0;a[j];j++){ if(++arr[a[j]]==2){ return j; } }return -1;}.
复制链接 扫一扫
分享

68
评分
回复


c++石头剪子布
描述石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。游戏规则:石头打剪刀,布包石头,剪刀剪布。现在,需要你写一个程序来判断石头剪子布游戏的结果。输入输入包括N+1行:第一行是一个整数N,表示一共进行了N次游戏。1 <= N <=
复制链接 扫一扫
分享

66
评分
回复


c++ 学生成绩排序
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct stu{ char name[21]; int grade;};struct rule{ bool operator()(const stu&a1,const stu&a2)const{ if(a1.grade>a2.gr.
复制链接 扫一扫
分享

65
评分
回复


STL maltiset,set
#include<iostream>#include<cstdio>#include<algorithm>#include<set>using namespace std;int main(){ int a[4]={4,4,2,1}; multiset<int> st; for(int i=0;i<4;i++){ st.insert(a[i]); } multiset<int>::iterator .
复制链接 扫一扫
分享

68
评分
回复


c++病人排序问题
描述病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:1.老年人(年龄 >= 60岁)比非老年人优先看病。2. 老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。3.非老年人按登记的先后顺序看病。输入第1行,输入一个小于100的正整数,表示病人的个数;后面按照病人登记的先后顺序,每行输入一个病人的信息,包括:一个长度小于10的字符串表示病人的ID(每个病人的ID各不相同且只含数字和字母),一个整数表示病人的年龄,中间用单个空格隔开。输出..
复制链接 扫一扫
分享

70
评分
回复


c++蓝桥杯真题 打印汉字
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。汉字的字形存在于字库中,即便在今天,1616点阵的字库也仍然使用广泛。1616点阵的字库把每个汉字看成是16 \times 1616×16个像素信息。并把这些信息记录在字节中。一个字节可以存储88位信息,用3232个字节就可以存一个汉字的字形了。 把每个字节转为22进制表示,11表示墨迹,00表示底色。每行22个字节,一共1616行,布局是: 第 1 字节,第 2 字节...
复制链接 扫一扫
分享

63
评分
回复


幸运数字问题
#define N 59084709587505#include<bits/stdc++.h>using namespace std;long long int num[2000];int main(){ memset(num,0,sizeof(num)); int num_3=0; int num_5=0; int num_7=0; int i; num[0]=1; for(i=1;num[i-1]<N;i++){ num[i]=min(min(num[num.
复制链接 扫一扫
分享

64
评分
回复


gcd和lcm模板
#include<iostream>using namespace std;int gcd(int a,int b){return b==0?a:gcd(b,a%b);}int lcm(int a,int b){return a*b/gcd(a,b);}int main(){int a,b,c; cin>>a>>b>>c; int num=lcm(lcm(a,b),c); cout<<num;}//挺方便的 有最.
复制链接 扫一扫
分享
为您搜索到以下结果: