Anadi and Domino--codeforces div2
2024-09-08 09:55:21
题目链接:https://codeforces.com/contest/1230/problem/C
题目大意:21枚多米诺牌,给你一个图,将多米诺牌放到图的边上,由同一个点发出的所有边,边上多米诺牌对应该点的一侧相同。
such as:
题解:暴力枚举,即先给每个点一个值,然后判断在这种情况下可以放置多少个多米诺牌,枚举的时候可以dfs递归
#include<bits/stdc++.h>
using namespace std;
const int N=;
int n,m;
int d[N];
int l[N],r[N];
int ans=;
bool mark[N][N];
void check(){
int sum=;
memset(mark,,sizeof(mark));
for(int i=;i<=m;i++){
int a=d[l[i]];
int b=d[r[i]];
if(a>b) swap(a,b); if(!mark[a][b]){//判断a,b这种牌有没有被用过;
mark[a][b]=;
sum++;
}
}
ans=max(ans,sum);
}
void dfs(int x){
if(x==n+){//如果所有的点都被赋值,那就判断在这种情况下可以多少放置多少个;
check();
return ;
}
for(int i=;i<=;i++){
d[x]=i;
dfs(x+);
}
}
int main(){
cin>>n>>m;
for(int i=;i<=m;i++){
scanf("%d%d",&l[i],&r[i]); //指的是从l到r有一条边
}
dfs();
cout<<ans<<endl;
return ;
}
最新文章
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点
- Hibernate(5)—— 联合主键 、一对一关联关系映射(xml和注解) 和 领域驱动设计
- PHP干货技巧文,一些PHP性能的优化
- Github注册过程以及对管理软件的了解
- Windows 10 L2TP 809错误
- 深入理解JS的delete
- for循环进阶
- SPCOMM 接收数据不完整!该如何解决
- vim命令---存阅
- 【LeetCode练习题】Unique Paths
- php五种常用的设计模式
- 最小k个数
- nodejs开发辅助工具nodemon
- Java基础语法入门01
- dlo,学习清单
- 【转】用ffmpeg转多音轨的mkv文件
- Linux - 日志文件简介
- AngularJS快速教程
- VGA Signal Timing
- day10<;面向对象+>;