题解 | #ACM Battle#

ACM Battle

https://ac.nowcoder.com/acm/problem/14122

由于数据很弱(20组数据,每组1000个点,2000条边),于是直接暴力解决了。
每次选择度数最大的点,然后用一滴圣水即可。
(呜呜怪不得从来没见过魔法阵呢!)
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

const int N = 2005;
vector<int> g[N];
int d[N];
int t, n, m;

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	
	cin >> t;
    while(t --)
    {
        cin >> n >> m;
        for(int i = 0; i <= 1005; i ++)
        {
            g[i].clear();
            d[i] = 0;
        }
        while(m --)
        {
            int u, v;
            cin >> u >> v;
            g[u].push_back(v);
            g[v].push_back(u);
            d[u] ++;
            d[v] ++;
        }
        int ans = 0;
        while(ans <= 11)
        {
            int maxx = 0, idx;
            for(int i = 1; i <= n; i ++)
            {
                if(d[i] > maxx)
                {
                    maxx = d[i];
                    idx = i;
                }
            }
            if(maxx == 0)
            {
                break;
            }
            d[idx] = 0;
            for(auto p : g[idx])
            {
                d[p] --;
            }
            ans ++;
        }
        if(ans >= 11)
        {
            cout << "GG\n";
        }
        else
        {
            cout << ans << '\n';
        }
    }
	
	return 0;
}


全部评论

相关推荐

12-18 18:50
已编辑
门头沟学院 golang
牛客33637108...:重点是要事已密成,在没有进入这家公司之前,不要有任何的泄露信息,我之前跟你一样,面了一家光伏设备厂,底薪7500加上出差补贴大概有13,000左右,已经给了口头offer了,甚至要了我的在校成绩的所有信息,还向我要了三方的网签二维码,到后面还是毁约了,我干过最愚蠢的事情就是向同学透露要签三方的事,之后的失败只会让他们幸灾乐祸,这是即将结束的大学生活给我的最后一课,不要相信任何的口头三方,该面的就去面,甚至签了三方也有毁约的可能,就像我现在签了三方还在外面实习呢,春招还是要继续参加的,不能停止面试,不然到后面毁三方的时候,重新捡起的面试很麻烦的,这是我一点点小小的见解。
点赞 评论 收藏
分享
12-24 14:26
东北大学 Java
一只乌鸦:重邮+东北,好经典的学校
最后再改一次简历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务