codeforces 图论题目集(持续更新)
Posted newstartcy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeforces 图论题目集(持续更新)相关的知识,希望对你有一定的参考价值。
Dasha Code Championship - SPb Finals Round (only for onsite-finalists)
A. Anadi and Domino
https://codeforces.com/problemset/problem/1210/A
思路:当Grape中节点个数少于等于6个时,最多存在15条边,每个节点赋值一个点数,所以n <= 6 时,可存在变数为m,当Grape中节点的个数为7个时,必然是存在俩个节点属于同一标记的,因此枚举每俩个节点,
如果其他节点和这俩个节点同时存在边,则这条边必然是不可取的,因为各种类型的筛子只能取一个,所以需要减去
/* * @Author: CY__HHH * @Date: 2019-10-21 12:09:09 * @LastEditTime: 2019-10-21 12:09:09 */ #include<bits/stdc++.h> #define inf (0x3f3f3f3f) typedef long long i64; using namespace std; const int maxn = 32; bool Grape[maxn][maxn]; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n,m,u,v; cin >> n >> m; for(int i=0;i!=m;++i) { cin >> u >> v; Grape[u][v] = Grape[v][u] = true; } int minn = inf; if( n <= 6) cout << m <<‘ ‘; else{ for(int i=1;i<=n;++i) { for(int j=i+1;j<=n;++j) { int cnt = 0; for(int k=1;k<=n;++k) if(Grape[i][k]&&Grape[j][k]) ++cnt; minn = min(minn,cnt); } } cout << m - minn << ‘ ‘; } return 0; }
以上是关于codeforces 图论题目集(持续更新)的主要内容,如果未能解决你的问题,请参考以下文章
codeforces#999 E. Reachability from the Capital(图论加边)