-
给定空间里的 n 个点,其中没有三点共线。每两个点之间都用红色或黑色的线段连接。
-
求 3 条边同色的三角形个数。
-
n≤1000n≤1000。
同色的= 总数- 杂色的
杂色的直接乘法原理就行,但注意ij 和ji 一样
#include <iostream> #include <cstring> #include <vector> using namespace std; int n,c[2000][2]; void sov(){ memset(c,0,sizeof c); int i,j,x; cin>>n; for(i=1;i<n;i++) for(j=i+1;j<=n;j++){ cin>>x; c[i][x]++,c[j][x]++; } int ans=0; for(i=1;i<=n;i++) ans+=c[i][0]*c[i][1]; printf("%d\n",n*(n-1)*(n-2)/6-ans/2); } signed main(){ int ts;cin>>ts;while(ts--) sov(); }