求教一个C++ 的算法问题!!!急啊
模拟森林受到寄生虫的困扰过程:
寄生虫困扰感染的树木,造成森林树木落叶。
落叶树木从森林移除,然后在移除的地方种植新的树木,
反过来新的数目又可能被寄生虫感染。
以下三个规则定义的森林环境中的简单模型:
1. 受感染的树木第二年变成落叶树木。
2. 落叶树木第二年变成绿色树木。
3. 疫区树木次年感染其北部,南部,东部和西部的邻进绿色树木。
请问各位感染东西南北的树木这个算法应该怎么实现啊??小弟想了很久都觉得不恰当
[解决办法]
东南西北...
direction[8]={-1,0,1,0,0,-1,0,1}
for(int i=0;i<8;i+=2)
{
int a=x+direction[i];
int b=y+direction[i+1];
}
[解决办法]
使用队列进行四个方向的广度优先扩展。
并把感染的树木用一个Vector保存起来,每一年按照1,2规则进行变化。
不知道对不对。楼主给意见把。