L2-013 红色警报

原题链接

题解

复杂图论题做多了这种题不会做了
直接模拟即可,标记被摧毁的城市,然后遍历所有城市,能一次性搜索到的城市是一个城市群,累积有几个城市群

code

#include<bits/stdc++.h>
using namespace std;
vector<int> G[505];
int vis[505]={0};
int des[505]={0};
void ss(int now)
{
    vis[now]=1;
    for(auto next:G[now]) if(!vis[next]&&!des[next])  ss(next);

}
int main()
{
    int n,m;
    cin>>n>>m;

    for(int i=1;i<=m;i++)
    {
        int x,y;
        cin>>x>>y;
        G[x].push_back(y);
        G[y].push_back(x);
    }

    int cnt=0;
    for(int i=0;i<n;i++)
    {
        if(!vis[i])
        {
            ss(i);
            cnt++;
        }
    }
    int k;
    cin>>k;
    for(int i=1;i<=k;i++)
    {
        memset(vis,0,sizeof vis);
        int now;
        cin>>now;
        des[now]=1;
        int cnt1=0;
        for(int i=0;i<n;i++)
        {
            if(!vis[i]&&!des[i])
            {
                ss(i);
                cnt1++;
            }
        }
        if(cnt1>cnt) printf("Red Alert: City %d is lost!\n",now);
        else printf("City %d is lost.\n",now);
        cnt=cnt1;
    }

    if(k==n)  puts("Game Over.");
    return 0;
}

posted @   纯粹的  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示