📄 awp.cpp
字号:
#include<iostream>
using namespace std;
int q(int n,int m)
{
if((n<1)||(m<1))return 0;
if((n==1)||(m==1))return 1;
if(n<m)return q(n,n);
if(n==m)return q(n,m-1)+1;
return q(n,m-1)+q(n-m,m);
}
int kk(int n,int m)
{
if((n<1)||(m<1))return 0;
if((n==1)||(m==1))return 1;
if(n<m)return kk(n,n);
if(n==m)
{
if(m%2!=0)return kk(n,m-1)+1;
else return kk(n,m-1);
}
if(m%2!=0)
return kk(n,m-1)+kk(n-m,m);
else return kk(n,m-1);
}
int ha(int n,int m)
{
if(n==1&&m==1)return 1;
if(n<m)return ha(n,n);
if(n==m)return ha(n,m-1)+1;
if(n>m&&m>1)
return ha(n,m-1)+ha(n-m,m-1);
else return 0;
}
void q1(int i,int j)
{
int n,m,k;
n=i;m=j;
if(n==1||m==1)k=1;
if(n<m)k=q(n,n);
if(n==m)k=1+q(n,n-1);
if(n>m&&m>1)k=q(n,m-1)+q(n-m,m);
cout<<k<<endl;
}
void q2(int i,int j)
{
int n,m,k;
n=i;m=j;
if(n==1&&m==1)k=1;
if(n<m)k=kk(n,n);
if(n==m)
{
if(m%2!=0)
k=1+kk(n,n-1);
else k=kk(n,n-1);
}
if(n>m&&m>1)
{
if(m%2!=0)
k=kk(n,m-1)+kk(n-m,m);
else k=kk(n,m-1);
}
cout<<k<<endl;
}
void q3(int i,int j)
{
int n,m,k;
n=i;m=j;
if(n==1)k=1;
if(n<m)k=ha(n,n);
if(n==m)k=1+ha(n,n-1);
if(n>m&&m>1)k=ha(n,m-1)+ha(n-m,m-1);
cout<<k<<endl;
}
void main()
{
int n,m;
cin>>n>>m;
q1(n,n);
q1(n,m);
q2(n,n);
q3(n,n);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -