woshiliuxyesheng
woshiliuxyesheng
采纳率66.7%
2019-10-30 20:59 阅读 492

请求找大佬 C语言 代码

5

图片说明
请求这个 答案
我安全不知道

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    dashicaineng 蔡能教授,网站特聘专家 2019-10-30 23:07
    点赞 评论 复制链接分享
  • bobhuang bobhuang 2019-10-31 10:11

    系统提供的部分:
    输入n和nxn的数据(0或1),转换成good[i][j]保存。
    判断函数better(a,b),实际返回good[a][b]。

    判断大佬的依据: 如果a为大佬,则对所有1 <= i <= n 且 a!=i, 有better[a,i] = 1, 且 better[i,a] = 0。

    解决思路:
    用一个n维数组x,标记n个人是否可能为大佬,初始化为x[i]=1. 后续计算中如果x[i] = 0则表示不可能是大佬。
    a从1到n循环,i从1到n循环,当a!=i时,读取better[a,i]和better[i,a],如果不符合,则标记a不是大佬,并中断循环。
    优化:每次读取better[a,i]之后,如果 = 1, 则标记x[i] = 0; 如果better[a,i] = 0,则标记 x[a] = 0;相应地,对每个a,先判断x[a]是否为0,如果为x[a]=0则直接跳过i的循环。

    点赞 评论 复制链接分享

相关推荐