<span>cf-1230C Anadi and Domino</span>

题目链接:http://codeforces.com/contest/1230/problem/C

题意:

有21 个多米诺骨牌,给定一个无向图(无自环,无重边),一条边上可以放一个多米诺骨牌。如果两条边连接同一个顶点,那就必须使这两条边上指向这个顶点的多米诺骨牌的值相等,问给定的图中最多可以放多少个多米诺骨牌。

题解:

**当n<7时,每个节点对应一个数,可放置的骨牌即为m。

**当n=7时,此时多出了一个节点,那么还有一个节点必定要放重复的数,节点个数很少吗,故我们可以三重循环,cnt记录有多少个k点连接了 ki,kj 俩边,找出最少的一种情况减掉这些边就是结果。

 

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int a[100100],b[100100],c[10][10];
 5 
 6 int main()
 7 {
 8     int n,m;
 9     scanf("%d%d",&n,&m);
10     for(int i=0;i<m;i++){
11         scanf("%d%d",&a[i],&b[i]);
12         c[a[i]][b[i]]=c[b[i]][a[i]]=1;
13     }
14     if(n<7) printf("%d\n",m);
15     else {
16         int cnt=0,ans=0x3f3f3f;
17         for(int i=1;i<=7;i++){
18             for(int j=i+1;j<=7;j++){
19                 cnt=0;
20                 for(int k=1;k<=7;k++)
21                     if(c[k][i]&&c[k][j]) cnt++;
22                 ans=min(ans,cnt);
23             }
24         }
25         printf("%d\n",m-ans);
26     }
27     return 0;
28 }
全部评论

相关推荐

和蔼:在竞争中脱颖而出,厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了
点赞 评论 收藏
分享
感性的干饭人在线蹲牛友:🐮 应该是在嘉定这边叭,禾赛大楼挺好看的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务