問題UVA1510] [ネオンサインへのソリューション

オリジナルタイトル住所

解決:

Nは、抗困難であり、多彩な三角形の数を考慮して、各点はオブジェクト数と考えることができます。

すなわち:合計 - ヘテロ純粋=

合計:C [N-] = N / = N- [3](3 *(3-N-)!!。)!(N - 1)(N - 2)/ 6;。

杂:(sigma r[i]* b[i])/2

ヘテロアリール三角形が計算される。
各点は、カラー0とx Y 1-エッジの色の数のエッジの数を有し、
それは三角多彩のx * yが一つで発生し、それが繰り返されます、反復が最後の/ 2のように、2になるように多彩な三角形を想像して、2点が、一度カウントされます。

const int N = 1010;

int n;
int b[N],r[N];

int main(){
    int T;rd(T);
    while(T--){
        mem(b,0),mem(r,0);//初始化
        rd(n);
        rep(i,1,n-1){
            rep(j,i+1,n){
                int x;rd(x);
                if(x==0)b[i]++,b[j]++;
                else if(x==1)r[i]++,r[j]++;
            }
        }
        int sum=0;
        rep(i,1,n)sum+=b[i]*r[i];
        printf("%lld\n",n*(n-1)*(n-2)/6-sum/2);
    } 
    return 0;
} 

おすすめ

転載: www.cnblogs.com/sjsjsj-minus-Si/p/11634766.html