Neon Sign UVA - 1510

发布时间 2023-04-19 20:56:08作者: towboat
  • 给定空间里的 n 个点,其中没有三点共线。每两个点之间都用红色或黑色的线段连接。

  • 3 条边同色的三角形个数。

  • n≤1000n1000。

 

  同色的=  总数- 杂色的

杂色的直接乘法原理就行,但注意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();
 }