本文主要是介绍acm 使用穷举法解决人鸡狗米过河的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在网上看了一到关于人鸡米狗过河的数学建模题。然后对其进行编码实现。方法参考来源于:http://blog.sina.com.cn/s/blog_6c138b4701011own.html
。
以下是具体的代码:
#include<iostream>
#include<math.h>
#include<bitset>
#define STATUS 16
#define NUM 4
#define NUMOFSTEP 20
using namespace std;
int graph[16][16];
bitset<16> isCan; //16种状态向量
bitset<4> d[4]; //4种可行的渡河方式 运算向量
bitset<4> map[16];
bool used[16]; //对图经行遍历的时候要用到,防止对已经遍历的节点再次遍历
int step=0;
int action[20];//记录最大的步骤是20
void init()
{
/*
使用穷举法将可行的状态列出来。1表示在南岸 0表示在北岸 (ren ,,gou,ji ,mi)
(1, 1, 1, 1),(1, 1, 1, 0),(1, 1, 0, 1),(1, 0, 1, 1),(1, 0, 1, 0&
这篇关于acm 使用穷举法解决人鸡狗米过河的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!