首页 > 编程知识 正文

hdu 5981,hdu 3923

时间:2023-05-05 09:27:59 阅读:175395 作者:1671

问题解决:

这个问题不太好想,参考别人的想法,加上自己的详细补充。 1 .反过来说,如果能求出三人之间有一种关系或两种关系的总数,问题就解决了。 2 .对于点I,剩下的n-1个点可以分为两个与I无关的a[i]和与I无关的n-1-a[i]的集合。 从这两个集合中分别取一个点,做成三个点,就满足三个人之间有一个关系或两个关系的条件。 res=(a[I]*(n-1-a[I] ) ),3 .在加起来的RES中,如果三个人有一个关系,可以看出关系中的两个人被数了两次。 有两种关系的情况下,无关的两个人被数了两次。 (自己做简单的图帮助理解)正好数了两次,结果是2 #includestdio.hint main () { int T; int n; int a; 双结果; scanf('%d ',t ); wile(t-- ) Scanf ) ' %d ',n ); res=0.0; for(intI=0; in; I ) Scanf('%d ',a ); RES=(n-a-1 ) a; (printf ) )、1.0-RES*3/n/(n-1 )/(n-2 ) ) ) ) ) ) ); //运算后的公式(} return 0; }

---恢复内容结束----

转载于:https://www.cn blogs.com/xdjjy/archive/2013/04/13/3017835.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。

  •  标签:  
  • hdu