僵尸传染bfs

#include<stdio.h>

int map[4][4]={0,0,0,1,       0,0,1,1,       0,0,1,0,       0,1,0,0};

int mx[4]={0,0,1,-1};

int my[4]={1,-1,0,0};

typedef struct node

{  int x;  int y;}node;

node dui[1000];

int tou=0;

int wei=1;

void change()

{

int nx;

int ny;

dui[tou].x=0;

dui[tou].y=3;

map[0][3]=2;

while(tou<wei)

{   for(int i=0;i<4;i++)

{    nx=dui[tou].x +mx[i];

ny=dui[tou].y +my[i];

if(nx>=0&&nx<4&&ny>=0&&ny<4&&map[nx][ny]==1)

{ map[nx][ny]=2;

dui[wei].x =nx;

dui[wei].y =ny;

wei++;         }

}  tou++;   }

}

int main()

{ change();

for(int i=0;i<4;i++)

{  for(int j=0;j<4;j++)

{   printf("%d",map[i][j]);  }

printf("\n"); }

return 0; }

时间: 2024-07-30 03:26:12

僵尸传染bfs的相关文章

僵尸传染问题demo(BFS)

#include <stdio.h> #include <stdlib.h> #define SIZE 5 typedef struct node{ int x; int y; int step; }node; int map[SIZE][SIZE]={{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1},{1,1,1,1,1}}; node queue[30]; int head,tail;//队列头和队列尾 int step; int

zoombies

//最短路径问题 //求一个迷宫的入口和出口间的最短路径的长度 //约束条件:迷宫中0的点可以走,1的点是障碍,不能走 //每次移动只能上.下.左.右移动1个位置,路径不能产生交叉 //僵尸传染: //用二维数组表示一个地图,地图上为1的点代表有人,为0的点代表空地 //开始时,只有一个人被病毒感染,变成了僵尸 //变成僵尸的人可以传染其他人,每一秒可以上.下.左.右四个方向距离为1的人传染 //求最终有多少人被感染,使用多长时间 // 1 1 1 1 1 1 1 1 1 1 // 1 1 1

题解——逃离僵尸岛(BFS+最短路+虚拟节点)

题解--逃离僵尸岛(BFS+最短路+虚拟节点) 一道很巧妙的最短路问题,细节也要注意 题面 Description 小a住的国家被僵尸侵略了!小a打算逃离到该国唯一的国际空港逃出这个国家. 该国有N个城市,城市之间有道路相连.一共有M条双向道路.保证没有自环和重边. K个城市已经被僵尸控制了,如果贸然闯入就会被感染TAT...所以不能进入.由其中任意城市经过不超过S条道路就可以到达的别的城市,就是危险城市.换句话说只要某个没有被占城市到某个被占城市不超过s距离,就是危险. 小a住在1号城市,国际

【NOI2009】植物大战僵尸

P1589 - [NOI2009]植物大战僵尸 Description Plants vs. Zombies(PVZ)是最近十分风靡的一款小游戏.Plants(植物)和Zombies(僵尸)是游戏的主角,其中Plants防守,而 Zombies进攻.该款游戏包含多种不同的挑战系列,比如Protect Your Brain.Bowling等等.其中最为经典的,莫过于玩家通过控制Plants来防守Zombies的进攻,或者相反地由玩家通过控制Zombies 对Plants发起进攻. 现在,我们将要考

洛谷⑨月月赛Round2 P3393逃离僵尸岛[最短路]

题目描述 小a住的国家被僵尸侵略了!小a打算逃离到该国唯一的国际空港逃出这个国家. 该国有N个城市,城市之间有道路相连.一共有M条双向道路.保证没有自环和重边. K个城市已经被僵尸控制了,如果贸然闯入就会被感染TAT...所以不能进入.由其中任意城市经过不超过S条道路就可以到达的别的城市,就是危险城市.换句话说只要某个没有被占城市到某个被占城市不超过s距离,就是危险. 小a住在1号城市,国际空港在N号城市,这两座城市没有被侵略.小a走每一段道路(从一个城市直接到达另外一个城市)得花一整个白天,所

洛谷 P2805 BZOJ 1565 植物大战僵尸

题目描述 Plants vs. Zombies(PVZ)是最近十分风靡的一款小游戏.Plants(植物)和Zombies(僵尸)是游戏的主角,其中Plants防守,而Zombies进攻.该款游戏包含多种不同的挑战系列,比如Protect Your Brain.Bowling等等.其中最为经典的,莫过于玩家通过控制Plants来防守Zombies的进攻,或者相反地由玩家通过控制Zombies对Plants发起进攻. 现在,我们将要考虑的问题是游戏中Zombies对Plants的进攻,请注意,本题中

COGS410. [NOI2009] 植物大战僵尸

410. [NOI2009] 植物大战僵尸 ★★★   输入文件:pvz.in   输出文件:pvz.out   简单对比时间限制:2 s   内存限制:512 MB [问题描述] Plants vs. Zombies(PVZ)是最近十分风靡的一款小游戏.Plants(植物)和Zombies(僵尸)是游戏的主角,其中Plants防守,而Zombies进攻.该款游戏包含多种不同的挑战系列,比如Protect Your Brain.Bowling等等.其中最为经典的,莫过于玩家通过控制Plants来

图论(网络流):COGS 410. [NOI2009] 植物大战僵尸

410. [NOI2009] 植物大战僵尸 ★★★   输入文件:pvz.in   输出文件:pvz.out   简单对比时间限制:2 s   内存限制:512 MB [问题描述] Plants vs. Zombies(PVZ)是最近十分风靡的一款小游戏.Plants(植物)和Zombies(僵尸)是游戏的主角,其中Plants防守,而Zombies进攻.该款游戏包含多种不同的挑战系列,比如Protect Your Brain.Bowling等等.其中最为经典的,莫过于玩家通过控制Plants来

NOI2009植物大战僵尸

这题应该分两步来做: 1.拓扑排序,去掉无敌点 2.求最大闭合子图 需要注意几点: 1.拓扑排序时,如果(i,j)可以攻击到(x,y),那么增加(x,y)的入度,而不是(i,j)的入度 因为入度代表着要攻击它需要事先攻击几个点 2.求最大闭合子图时,用所有的正权点-最大流 3.求最大闭合子图时,如果(i,j)可以攻击到(x,y),那么连一条边(x,y)到(i,j),容量为正无穷 因为在最大闭合子图中边(x,y)到(i,j)意味着选(x,y)就必须要选(i,j),这与实际含义相符 4.s到正权点,