免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 6823 | 回复: 26
打印 上一主题 下一主题

最大兼容项个数筛选 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-09 16:44 |只看该作者 |倒序浏览
本帖最后由 sequencing 于 2011-05-10 17:16 编辑

有1-12,12个数,同一行的两个数表示不能同时出现,如第一行表示1出现10就不能出现,
  1. 1       10
  2. 11      10
  3. 11      12
  4. 11      2
  5. 2       12
  6. 3       1
  7. 5       1
  8. 7       6
  9. 8       1
  10. 9       4
  11. 9       7
复制代码
现在需要获取最大个数的可以同时出现的数字,没说清楚的地方大家再挑刺

论坛徽章:
0
2 [报告]
发表于 2011-05-09 16:52 |只看该作者
出现数字的范围没有要求?

论坛徽章:
0
3 [报告]
发表于 2011-05-09 16:53 |只看该作者
楼主的意思是说,出现的数字范围内?

论坛徽章:
0
4 [报告]
发表于 2011-05-09 16:55 |只看该作者
每个数字作为一个节点 如果这个数字与其他数字能够同时出现 就有一条通路
由此组成一张图
问题转化为求图中 最长路径的一条通路
也就是最大割问题

论坛徽章:
0
5 [报告]
发表于 2011-05-09 16:55 |只看该作者
回复 2# lkk2003rty


    您的范围是什么意思,这里的不兼容的项是一对一的,如1-10,3-1,5-1,是不连续的,不是范围

论坛徽章:
0
6 [报告]
发表于 2011-05-09 16:56 |只看该作者
回复 5# sequencing


    有多少个数字 可以用于按照你给出的条件来选择啊 这就是范围

论坛徽章:
0
7 [报告]
发表于 2011-05-09 16:57 |只看该作者
楼主的意思是说,出现的数字范围内?
dzhxc 发表于 2011-05-09 16:53



    是就这些数字

论坛徽章:
0
8 [报告]
发表于 2011-05-09 17:00 |只看该作者
回复 6# lkk2003rty


    1-12,12个

论坛徽章:
0
9 [报告]
发表于 2011-05-09 17:18 |只看该作者
本帖最后由 dzhxc 于 2011-05-09 17:21 编辑
  1. [root@bill cu]# cat 12num.txt
  2. 1       10
  3. 11      10
  4. 11      12
  5. 11      2
  6. 2       12
  7. 3       1
  8. 5       1
  9. 7       6
  10. 8       1
  11. 9       4
  12. 9       7
  13. [root@bill cu]# cat num.sh
  14. #!/bin/bash

  15. for i in `seq 1 12`
  16. do
  17.   cat 12num.txt|while read line
  18.   do
  19.     a=`echo $line|awk '{print $1}'`
  20.     b=`echo $line|awk '{print $2}'`
  21.     [ $a -eq $i ] && echo "$b" >> $i.tmp
  22.     [ $b -eq $i ] && echo "$a" >> $i.tmp
  23.   done
  24.   for j in `seq 1 12`
  25.   do
  26.     cat $i.tmp | egrep "\b$j\b" >> /dev/null
  27.     [ $? -ne 0 ] && echo "$i and $j"
  28.   done
  29.   rm -rf $i.tmp
  30. done
  31. [root@bill cu]# sh num.sh
  32. 1 and 1
  33. 1 and 2
  34. 1 and 4
  35. 1 and 6
  36. 1 and 7
  37. 1 and 9
  38. 1 and 11
  39. 1 and 12
  40. 2 and 1
  41. 2 and 2
  42. 2 and 3
  43. 2 and 4
  44. 2 and 5
  45. 2 and 6
  46. 2 and 7
  47. 2 and 8
  48. 2 and 9
  49. 2 and 10
  50. 3 and 2
  51. 3 and 3
  52. 3 and 4
  53. 3 and 5
  54. 3 and 6
  55. 3 and 7
  56. 3 and 8
  57. 3 and 9
  58. 3 and 10
  59. 3 and 11
  60. 3 and 12
  61. ……
复制代码
看看是否符合要求?如果要 计数 的话,就重定向一下 wc吧

论坛徽章:
0
10 [报告]
发表于 2011-05-09 17:26 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP