解akm递归.cpp

来自「该压缩文件夹内有诸多常用算法和数据结构的c++模板编程实现」· C++ 代码 · 共 45 行

CPP
45
字号
#include<iostream.h>
#include"listStack.h"
int solveAkm(int m,int n)
{
	lStack<int> a;
	a.push(m);
	a.push(n);
	while(a.size()>1)
	{
		n=a.pop();
		m=a.pop();
		if(m==0)
		{
			a.push(n+1);
			continue;
		}
		if(m==1&&n==0)
		{
			a.push(2);
			continue;
		}
		if(m>1&&n==0)
		{
			a.push(m-2);
			a.push(m-1);
			a.push(0);
			continue;
		}
		if(m!=0&&n!=0)
		{
			a.push(m-1);
			a.push(m);
			a.push(n-1);
		}
	}
	return a.pop();
}
void main()
{
	int m,n;
	cin>>m>>n;
	cout<<solveAkm(m,n)<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?