題目描述
farmer john 最近正在修建乙個巨大的包含 n×n 個房間的牲口棚,這些房間從(1,1)標號到(n,n)。由於某些原因而害怕黑暗,貝茜這頭奶牛想要盡可能地開更多房間的燈。貝茜從房間(1,1)出發,這個房間是唯一乙個一開始就亮著的房間。在一些房間中,她會找到一些電燈開關,這些開關她可以用來切換其他房間的燈的狀態。比如,在(1,1)這個房間中可能存在乙個電燈開關來控制(1,2)房間中的電燈。貝茜只能進電燈開著的房間,並且貝茜只能從房間(x,y)走到四個方向的房間(x-1,y),(x+1,y),(x,y-1)和(x,y+1)(如果在邊界的話,那可能會更少)。請幫忙統計貝茜最多可以照亮多少房間。
輸入
第一行兩個整數 n,m(2<=n<=100,1<=m<=20,000)
下面 m 行,每行用四個整數 x,y,a,b 來表示房間(x,y)存在著可以控制房間(a,b)的燈的開關。乙個房間可能有多個開關,乙個房間的燈的開關可能存在於多個房間中。
輸出
一行乙個整數,表示貝茜最多可以照亮的房間數
樣例輸入
3 61 1 1 2
2 1 2 2
1 1 1 3
2 3 3 1
1 3 1 2
1 3 2 1
樣例輸出5
提示
在這個樣例中,貝茜可以使用房間(1,1)內的開關開啟房間(1,2)和(1,3)的燈。然後她可以走到(1,3),使用(1,3)內的開關開啟(2,1)的燈,接著可以通過(2,1)開啟(2,2)的燈,然而(2,3)是黑暗的,她無法去開啟(2,3)房間裡的開關,因此,她最多只能開啟 5個房間裡的燈。
正解
乙個bfs就ok了
ac**
#include
#include
using
namespace std;
int n,m,x,y,h,t,s,x1,y1,tot;
int xx[
20005
],yy[
20005
],b[
105]
[105
],c[
105]
[105
],head[
105]
[105];
int dx[5]
=;int dy[5]
=;struct node
a[20005];
void
add(
int x,
int y,
int x1,
int y1)
//鄰接表
void
bfs()}
}}intmain()
bfs();
for(
int i=
1;i<=n;i++
)//暴力一遍看有多少個房間亮著
for(
int j=
1;j<=n;j++)if
(c[i]
[j]==
1)s++
; cout
}
2020.03.11模擬賽15(第一題)
2020.03.11模擬賽15(第二題)
2020.03.11模擬賽15(第三題)
2020.03.11模擬賽15(第四題)
2020.03.11模擬賽15(總結)
2020 03 11模擬賽15(總結)
t1 比賽時出錯,遞迴喝水出現問題,樣例過了,最後8.3分,後來找到遞迴的問題,改過來成功ac t2比賽用了二分,開始樣例不對,發現時二分的問題,把迴圈中的判斷改了一下就對了,最後ac t3不會分組揹包,比賽打了01揹包騙分,最後得了30分,後來知道了正解是分組揹包,上網學習了分組揹包,套用模板就a...
2020 03 11模擬賽15(第三題)
題目描述 你是一名記者,現在要求你去採訪n 個國家的領導人。採訪每乙個國家的領導人需要消耗你的時間為t i 但你可以收穫價值為v i 的資訊,然後就能寫成報道 然而尷尬的是,有一些國家之間的關係屬於敵對關係,因此如果乙個國家的領導人知道你採訪了他的敵對國家領導人,那麼他就會拒絕你的採訪。總之,你採訪...
2020 02 29模擬賽11(第四題)
題目描述 4和7是味味的幸運數字。幸運數是那些只由幸運數字組成的正整數。如47,477是幸運數,而5,17,417 就不是幸運數。定義next x 為大於或等於x的最小的幸運數。味味對以下表示式的值很感興趣 next l next l 1 next r 1 next r 現在告訴你l和r的值,希望你...