曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。
陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路上刷街了。非常悲劇的一點是,河蟹是一種不和諧的生物,當兩隻河蟹封鎖了相鄰的兩個點時,他們會發生衝突。
詢問:最少需要多少只河蟹,可以封鎖所有道路並且不發生衝突。
如果乙個點選白,那麼與他相連的點必須是黑
同乙個聯通快中,黑白可以互換
如果遍歷到衝突了,就直接impossible
#include#include#include
#define ri register int
#define u int
#define nn 10005
#define mm 100005
namespace
fast
while(s>='
0'&&s<='9'
)
return
x; }
}using fast::in
;namespace
all a[mm
<<1
]; inline
void add(const u &x,const u &y)
u vt[nn],co[nn];
u dfs(
const u &x,const u &k,const u &deep)
vt[x]=1,++n,co[x]=k,ans+=k;
if(deep==n) return1;
for(ri i(h[x]); i; i=a[i].next)
return1;
}inline
void
solve()
u as(0
);
for(ri i(1); i<=n; ++i)
as+=std::min(ans,n-ans);
}printf("%d
",as
); }
}int
main()
luogu P1330 封鎖陽光大學
曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路上...
luogu P1330 封鎖陽光大學
emmmm 下午被dtx大佬強迫 用詞似乎不當?去做 他tql!然鵝最終還是他給我講的www 所以這其實是一道圖的遍歷 但是我有搜尋恐懼症啊啊啊看到搜尋整個人都慌了 而且看題面 這道題還有乙個仔細想想就能想出來的點 就是每一條邊的兩個點,一定是乙個有河蟹,乙個沒有的 所以標記一下就比較好判斷了 然後...
luogu P1330 封鎖陽光大學 題解
曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路上...