zoukankan      html  css  js  c++  java
  • UVALive 5846 计数

    DES:给出任意两点之间连线的颜色。问一共会有多少个由相同颜色的边组成的三角形。

    一共有C(3, n)个三角形。考虑一每个点为顶点的三角形。颜色不同的两条边组成的三角形一定不行。所以减去。

    题目链接:Neon Sign

    #include<stdio.h>
    #include<iostream>
    #include<string.h>
    using namespace std;
    
    int r[1100], b[1100];
    
    int main()
    {
        int t;
        cin >> t;
        while(t--)
        {
            int n;
            cin >> n;
            memset(r, 0, sizeof(r));
            memset(b, 0, sizeof(b));
            //cout << n << "==" << endl;
            for (int i=0; i<n; ++i)
            {
                //cout << i << endl;
                for (int j=i+1; j<n; ++j)
                {
                    int temp;
                    cin >> temp;
                    if (temp == 1) {r[i]++, r[j]++;}
                    else {b[i]++, b[j]++;}
                }
            }
    
            int sum = 0;
            for (int i=0; i<n; ++i)
            {
                sum += r[i]*b[i];
            }
    
            int ans = n*(n-1)*(n-2)/3/2-sum/2;
            cout << ans << endl;
        }
        return 0;
    }
    View Code
  • 相关阅读:
    List集合
    类加载机制
    代码优化
    JVM字节码
    Tomcat优化之Apache Jmeter压力测试工具
    Tomcat优化
    JVM垃圾收集器
    lambda表达式
    java 内部类
    java多线程3种方式
  • 原文地址:https://www.cnblogs.com/icode-girl/p/4731413.html
Copyright © 2011-2022 走看看