玉米之花
来源:互联网 发布:日程安排的软件 编辑:程序博客网 时间:2024/04/19 09:30
Font Size:AaAaAa
Description
通灵人大战(Shaman Fight)已经在新世纪演变成了诸神的战争--玉米之花(Flower Of Maize),为了守护当今的通灵王,麻仓花决定在2个通灵军团当中挑选自己的队友进行战斗.这2个通灵军团各有N个通灵者,但是这2个军团间经常发生战斗,所以他们之中某些人存在矛盾关系,不过同一军团内并不存在矛盾.某两个通灵者之间存在矛盾关系即表示这两人无法在同一个队伍中共存,也就是发生内斗.为了让自己的队伍保持最高的战斗力,麻仓花决定挑选尽量多的通灵者加入自己的队伍,同时保证队伍里不发生内斗.
Input
对于每组测试数据,第一行输入两个整数N,M(1<=N<=15 , 0<=M<=N*N).接下来输入M行,每行输入两个整数a,b(1<=a , b<=N)表示军团一的a和军团二的b之间存在矛盾.数据保证两个人之间最多只存在一条矛盾关系.
Output
对于每组测试数,第一行输出最多的通灵者人数x.接下来x行每行输出两个数,分别表示挑选出来的通灵者的军团编号以及该通灵者自身的编号.(按任意顺序输出,若存在多种答案,请输出任意一种)
Sample Input
3 51 11 21 32 13 13 31 32 13 2
Sample Output
41 22 21 32 332 12 22 3
参考代码如下:
#include<stdio.h>
#include<string.h>#include<vector>
using namespace std;
vector<int>E[20];
int main()
{
int n,m,i;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(i=0;i<=20;i++)
E[i].clear();
for(i=1;i<=m;i++)
{
int a,b;
scanf("%d%d",&a,&b);
E[a].push_back(b);
}
bool a[20],b[20];
memset(a,true,sizeof(a));
memset(b,true,sizeof(b));
for(i=1;i<=n;i++)
{
int le=E[i].size();
if(le>1)
a[i]=false;
else
{
for(int j=0;j<le;j++)
b[E[i][j]]=false;
}
}
int ans=0;
for(i=1;i<=n;i++)
{
if(a[i])
ans++;
if(b[i])
ans++;
}
printf("%d\n",ans);
for(i=1;i<=n;i++)
{
if(a[i])
printf("1 %d\n",i);
if(b[i])
printf("2 %d\n",i);
}
}
return 0;
}
0 0
- 玉米之花
- 中国期货市场风险回顾之九(大连玉米C511事件)
- 什么是玉米
- 玉米管理
- 玉米2
- 玉米3
- 松仁香喷喷 玉米金灿灿
- 寒冬中的玉米粉蒸肉
- 同玉米算法
- 黄玉米1
- 玉米炖猪蹄
- 猴子掰玉米
- 牛奶玉米糖水
- [SMOJ1774]种植玉米
- 東北菜,有道玉米餅,是玉米磨成麪再攤一張張烙餅
- 骆驼和玉米 [No. 80]
- 牛搬运玉米的问题
- 高预期玉米恐涨价
- 幸运数
- 怎样进行网站定位
- worstv使用说明
- C语言的宏编写(面试题)
- 坐标投影,3度带,6度带
- 玉米之花
- 实现一个Runnable类,在run()内部打印一个消息,然后调用yield(). 重复这个操作3次,然后从run()中返回。在构造器中放
- SimpleDateFormat的简单应用
- php hmac函数
- OpenGL: 图像像素操作
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
- 【JVM】写一个使Java heap OutOfMemoryError的程序
- 使用focus() 和blur()
- UVa:11552 - Fewest Flops