题目:http://acm.hdu.edu.cn/showproblem.php?pid=5874
题意:
就是有M个人N种颜色的石头 M个人中每两个人 不是朋友就是敌人
现在他们每个人要用石头要串一条项链 要求是
1.朋友之间的项链至少有一个相同颜色的石头
2.敌人之间没有颜色相同的石头
3.项链可以使空的 就是不串石头
问N种颜色的石头能不能满足这M个人
分析:
其实应该一下子联想到二分图的,两侧的人是朋友,那么完全二分图的边数就等价于颜色数。
代码:
#include<stdio.h>
using namespace std;
typedef long long ll;
ll n,m;
int main() {
//freopen("in.txt","r",stdin);
while(~scanf("%lld%lld",&n,&m)){
if(m>=(n/2)*(n-n/2))puts("T");
else puts("F");
}
return 0;
}

本文探讨了基于二分图理论解决项链问题的方法。给定M个人和N种颜色的石头,通过分析朋友和敌人的关系,利用完全二分图的概念来判断是否能为每个人串一条项链,使得朋友间至少有一个相同颜色的石头而敌人间没有相同颜色的石头。
991

被折叠的 条评论
为什么被折叠?



