首页 > 试题广场 >

交朋友

[编程题]交朋友
  • 热度指数:36 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
青牛小学今天开学了,天真无邪的牛牛们都希望彼此之间做朋友 
已知每只牛都有一些特长,如果两只牛的特长有交集,则他们会成为朋友。
同时牛牛们还喜欢把自己的朋友介绍给别人,即如果大牛和二牛是朋友,二牛和三牛是朋友,我们认为大牛和三牛也是朋友
牛牛们为了和别人交朋友,每次可以花费1桶牛奶学习一项特长
现在班主任想知道,最少需要花费多少桶牛奶才能让牛牛们都成为朋友

输入描述:
第一行两个整数N, M,表示牛的个数以及特长的个数
接下来N行,每行一个长度为M的0/1字符串,表示各个牛的特长
若第i行,第j列的字符为1,则表示第i只牛已经学会了第j项特长,若为0则表示未学会


输出描述:
一个整数表示答案,若无解,则输出-1
示例1

输入

2 2
00
00

输出

2

说明

可以花两桶牛奶,让两只牛都学习特长1
示例2

输入

5 4
0110
1001
0010
0100
1000

输出

1

说明

让奶牛2学习特长2即可

备注:
对于的数据,保证
对于的数据,保证输入的字符串全由1构成
对于的数据,保证
对于的数据,保证

这道题你会答吗?花几分钟告诉大家答案吧!