就简单背包问题(背包一)和四染色问题
简单的回溯问题可以有以下这个模型
int trying = 0;
do
{
while( 满足条件,可以进栈 )
{
进栈
设置尝试的新值:简单的分有两种
1、如简单背包的:物品互斥,则trying=trying + 1;
2、如四染色问题:颜色不互斥,则trying = 0;
}
if( 栈“满 ”)
{
循环输出结果
设置尝试的新值
trying = stack[top] + 1;
top--;
}
else if( “尝试”出界,即要出栈)
{
出栈并设置新值
trying = stack[top] + 1;
top--;
}
else
{
这个是尝试没出界,只是不满足条件
trying++;
}
}while(栈!= 空 && trying != max);
此博客主要是个人记录
浙公网安备 33010602011771号