- 博客(27)
- 问答 (1)
- 收藏
- 关注
原创 OJ半数集
算法:递归与分治输入6 可以得到6不做任何处理16左边添加一位数1,之后,不能继续添加26126左边添加一位数2,之后继续进行相同的处理36 136 左边添加一位数3,之后继续进行相同的处理对于每一个数,依次可以构造出首位是1~a/2的新数字 对每一个新数字,继续按照相同的方法进行处理 递归结束的条件是:每一个数字都进行了处理计算半数集的递推式#include<iostream>using namespace std;int f...
2021-09-27 21:27:54 142
原创 OJ全排列
#include #include using namespace std;void perm(int list[],int k,int m){if(k==m){for(int i=0; i<=m; i++){cout<<list[i]<<" ";}cout<<endl;}else{for(int i=k; i<=m; i++){swap(list[k],list[i]);perm(list,k+1,m);swap(lis
2021-09-26 19:40:58 169
原创 输出不重复的数
#include #include using namespace std;int main(){int n;cin>>n;int a[n];for(int i=0;i<n;i++){int s;cin>>s;a[i]=s;}sort(a,a+n);for(int i=0; i<n; i++){cout<<a[i]<<" ";}return 0;}
2021-09-26 19:40:26 207
原创 OJ排队购票
#include using namespace std;int f(int m,int n){if(m0){return 0;}else if(n0){return 1;}else{return f(m-1,n)+f(m,n-1);}}int main(){int m,n;cin>>m>>n;cout<<f(m,n);return 0;}
2021-09-26 19:39:48 150
原创 OJ递归:判堆(非递归写法)
#include using namespace std;int judge(int n,int a[]){int x=0,y=0;for(int i=0; i<n; i++){if(a[0]>a[i]){x++;}else if(a[0]<a[i]){y++;}}if(x==y){return 1;}else if(x>y){return 2;}else{return 3;}}int main(){int n;cin&
2021-09-26 19:39:11 140
原创 放苹果(盘子相同)
#include using namespace std;int split(int n,int m){if(n1||m1){return 1;}else if(n<m){return split(n,n);}else if(n==m){return split(n,n-1)+1;}else{return split(n,m-1)+split(n-m,m);}}int main(){int n,m;cin>>n>>m;cout&
2021-09-24 10:46:41 99
原创 递归求平方和函数
#include using namespace std;int sum(int n){int x=0;for(int i=1; i<=n; i++){x+=i*i;}return x;}int main(){int n;cin>>n;cout<<sum(n);return 0;}
2021-09-24 10:46:11 560
原创 众数及重数
#include using namespace std;int main(){int n,a=0,b=0,c;cin>>n;int s[n];for(int i=0;i<n;i++){int f;cin>>f;s[i]=f;}for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(s[i]==s[j]){a++;}}if(a>=b){b=a;c=s[i];}a=0;}cout&
2021-09-24 10:45:40 81
原创 OJ快速排序
#include #include <stdlib.h>#include <stdio.h>using namespace std;int quick_select(int a[], int l, int r, int k){int p = rand() % (r - l + 1) + l;int x = a[p];{int t = a[p];a[p] = a[r];a[r] = t;}int i = l, j = r;while(i < j){
2021-09-24 10:45:10 277
原创 寻找中位数 (快速排序版)
#includeusing namespace std;class sort{public:sort(int r[],int n);~sort();void quicksort(int first,int last);void print();private:int partition(int first,int last);int *data;int length;};sort::sort(int r[],int n){data=new int[n];for(int i=0;
2021-09-24 10:44:35 118
原创 OJ昆虫繁殖
#include using namespace std;int main() {long x,y,z,f[100],s[100];cin>>x>>y>>z;for (int i=1; i<=x; i++) {f[i]=1;s[i]=0;}for (int i=x+1; i<=z+1; i++) {if (i-2>=x+1) {s[i]=f[i-x]*y;f[i]=f[i-1]+s[i-2];} else {s[i]=f[i-
2021-09-24 10:43:58 86
原创 OJ过河卒
#include using namespace std;int main() {long m[50][50],f[50][50],mx,my,bx,by;cin>>bx>>by>>mx>>my;for (int i=0; i<=bx; i++) {for (int j=0; j<=by; j++) {if (imx-1&&jmy-2) {m[i][j]=1;} else if (imx+1&&jm
2021-09-24 10:43:30 85
原创 递归:Pell数列
#include using namespace std;int f(int n){if(n1){return 1;}else if(n2){return 2;}else{return (2*f(n-1)%32767+f(n-2)%32767)%32767;}}int main(){int k,n;cin>>k;int g[30];for(int i=0; i<k; i++){cin>>n;g[i]=f(n);}for(in
2021-09-24 10:42:54 169
原创 递归:爬楼梯
#include using namespace std;int f(int n){if(n1){return 1;}else if(n2){return 2;}else{return f(n-1)+f(n-2);}}int main(){int k,n;cin>>k;int g[k];for(int i=0;i<k;i++){cin>>n;g[i]=f(n);}for(int i=0;i<k;i++){cout<<
2021-09-24 10:42:27 77
原创 OJ猴子吃桃
#include using namespace std;int main(){int f=1;for(int i=1;i<10;i++){f=(f+1)*2;}cout<<f;return 0;}
2021-09-24 10:41:51 74
原创 排序
#include using namespace std;class Sort {public:Sort (int r[],int n); //构造函数,生成待排序序列~Sort();//析构函数void InsertSort();//直接插入排序void ShellSort();//希尔排序void BubbleSort();//起泡排序void QuickSort (int first,int last); //快速排序void SelectSort();//简单选择排序void
2020-12-24 08:59:35 178
原创 折半查找
#include using namespace std;const int MaxSize=100;class linesearch {public:linesearch (int a[],int n); //构造函数~linesearch() {} //析构函数为空int BinSearch1 (int k); //折半非递归查找int BinSearch2 (int low,int high,int k); //折半递归查找private:int data[MaxSize];//查
2020-12-23 22:15:22 132
原创 顺序查找
#include using namespace std;const int MaxSize=100;class linesearch{public:linesearch(int a[],int n);//构造函数~linesearch(){}//析构函数为空int SeqSearch(int k);//顺序查找private:int data[MaxSize];//查找集合为整形int length;//查找集合的元素个数};linesearch::linesearch(int
2020-12-23 21:54:14 128
原创 图的存储结构及实现(邻接表(包含拓扑排序))
#include using namespace std;struct EdgeNode{int adjvex;EdgeNode *next;};templatestruct VertexNode{DataType vertex;EdgeNode *firstEdge;};const int MaxSize=10;int visited[MaxSize]={0};templateclass ALGraph{public:ALGraph(DataType a[],int
2020-12-23 20:59:01 328
原创 图的存储结构及实现(邻接矩阵)
#include using namespace std;const int MaxSize=10;//图中最多顶点个数int visited[MaxSize]={0};//全局数组变量visited初始化template class MGraph{public:MGraph(DataType a[],int n,int e);//构造函数,建立具有n个顶点e条边的图~MGraph();//析构函数void DFTraverse(int v);//深度优先遍历图void BFTrave
2020-12-23 20:23:21 359
原创 二叉链表的实现
#include using namespace std;template struct binode{DataType data;binode *lchild,*rchild;};templateclass bitree{public:bitree(){root=creat();}//构造函数,建立一颗二叉树~bitree(){release(root);}//析构函数,释放各结点的存储空间void preorder(){preorder(root);}//前序遍历二叉树vo
2020-12-23 10:17:20 65
原创 链队列的实现
#include using namespace std;template struct Node{DataType data;//数据域Node *next;//指针域};class LinkQueue{public:LinkQueue();//初始化空的链队列~LinkQueue();//释放链队列的存储空间void enqueue(DataType x);//入队操作,将元素x入队DataType dequeue();//出队操作,将队头元素出队DataType geth
2020-12-21 20:59:59 248
原创 循环队列的实现
#include using namespace std;const int QueueSize=100;template class cirqueue{public:cirqueue();//构造函数,初始化空队列~cirqueue();//析构函数void enqueue(DataType x);//入队操作,将元素x入队DataType dequque();//出队操作,将队头元素出队DataType gethead();//取队头元素(并不删除)int empty();//判
2020-12-21 20:52:45 182
原创 链栈的实现
#include using namespace std;template struct Node{DataType data;//数据域Node *next;//指针域};class LinkStack{public:LinkStack();//构造函数,初始化一个空链栈~LinkStack();//析构函数,释放链栈各结点的存储空间void push(DataType x);//入栈操作,将元素x入栈DataType pop();//出栈操作,将栈顶元素出栈DataType
2020-12-21 20:32:24 289
原创 单链表的实现
#include using namespace std;templateclass linklist{public:linklist();//建立n个元素的单链表linklist(DataType a[],int n)//~linklist();//析构函数int length();//求单链表的长度datatype Get(int i);//按位查找,查找第i个结点的元素值int locate(datatype x);//按值查找,查找值为x的元素序号void insert(in
2020-12-21 20:03:32 261
原创 顺序表的实现
#include using namespace std;const int MaxSize=100;templateclass Seqlist{public:Seqlist();Seqlist(DataType a[],int n);int Length();void Printlist();void Insert(int i,DataType x);DataType Delete(int i);void Union(Seqlist A,Seqlist B,Seqlist C);
2020-12-21 19:39:06 73
原创 顺序栈的实现
#include using namespace std;const int StackSize=10;templateclass SeqStack{public:SeqStack();//构造函数,初始化一个空栈~SeqStack();//析构函数void push(DataType x);//入栈操作,将元素x入栈DataType pop();//出栈操作,将栈顶元素弹出DataType gettop();//取栈顶元素(并不删除)int empty();//判断栈是否为空pr
2020-12-18 09:27:43 122
空空如也
idea创建类为什么会一次出来三个文件
2023-04-16
OJ不通过,报Wrong Answer,是有什么情况没考虑到吗?
2021-09-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人