流感傳染(資訊學奧賽一本通)

2021-10-24 13:21:44 字數 1685 閱讀 1915

題目描述

有一批易感人群住在網格狀的宿舍區內,宿舍區為 n × n 的矩陣,每個格點為乙個房間,房間裡可能住人,也可能空著。

在第一天,有些房間裡的人得了流感,以後每天,得流感的人會使其鄰居傳染上流感(已經得病的不變),空房間不會傳染。

請輸出第 m 天得流感的人數。

輸入格式

第一行乙個數字 n,n 不超過100,表示有 n × n 的宿舍房間。

接下來的 n 行,每行 n 個字元,.表示第一天該房間住著健康的人,#表示該房間空著,@表示第一天該房間住著得流感的人。

接下來的一行是乙個整數 m,m 不超過100。

輸出格式

輸出第 m 天,得流感的人數。

輸入樣例

5..

..#.#.@.

.#@..#.

....

....

4

輸出樣例16

題解

bfs:

#include

#include

#include

#define x first

#define y second

using

namespace std;

const

int n =

110;

typedef pair<

int,

int> pii;

queue q;

int n, m, cnt;

char g[n]

[n];

int dist[n]

[n];

int dx[4]

=;int dy[4]

=;void

bfs()}

}int

main()

} cin >> m;

bfs();

cout << cnt << endl;

return0;

}

錯解:不知道**有問題?

#include

#include

#include

#define x first

#define y second

using

namespace std;

const

int n =

110;

typedef pair<

int,

int> pii;

queue q;

int n, m, cnt;

char g[n]

[n];

int dist[n]

[n];

int dx[4]

=;int dy[4]

=;intbfs()

}}intmain()

} cin >> m;

cout <<

bfs(

)<< endl;

return0;

}

資訊學奧賽一本通C 語言 1191 流感傳染

題目描述 有一批易感人群住在網格狀的宿舍區內,宿舍區為n n的矩陣,每個格點為乙個房間,房間裡可能住人,也可能空著。在第一天,有些房間裡的人得了流感,以後每天,得流感的人會使其鄰居傳染上流感,已經得病的不變 空房間不會傳染。請輸出第m天得流感的人數。輸入 第一行乙個數字n,n不超過100,表示有n ...

資訊學奧賽一本通 小球(drop)

許多的小球乙個乙個的從一棵滿二叉樹上掉下來組成fbt full binary tree,滿二叉樹 每一時間,乙個正在下降的球第乙個訪問的是非葉子節點。然後繼續下降時,或者走右子樹,或者走左子樹,直到訪問到葉子節點。決定球運動方向的是每個節點的布林值。最初,所有的節點都是false,當訪問到乙個節點時...

資訊學奧賽一本通 小球(drop)

this drop is gonna last forever!許多的小球乙個乙個的從一棵滿二叉樹上掉下來組成fbt full binary tree,滿二叉樹 每一時間,乙個正在下降的球第乙個訪問的是非葉子節點。然後繼續下降時,或者走右子樹,或者走左子樹,直到訪問到葉子節點。決定球運動方向的是每個...