-
给定空间里的 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();
}
浙公网安备 33010602011771号