Codeforces Round #142 (Div. 1), problem: (C) Triangles

来源:互联网 发布:mac ae导出快捷键 编辑:程序博客网 时间:2024/05/16 06:53

题意:把一个完全图割裂成两部分,问现在还剩下的三角形个数。

走法:直接可以确定出被毁坏的三角形个数。被毁坏的情况是,原本三角形的某个点有两条线段指向它,并且由此构成一个三角形,现在却少了一条边,三角形被破坏,统计所有这样的情况

#include<cstdio>#include<iostream>#define LL long longusing namespace std;const int LMT=1000004;LL A[LMT];int main(void){    LL n,m,dama=0;    int a,b;    cin>>n>>m;    while(m--)    {        scanf("%d%d",&a,&b);        A[a]++;A[b]++;    }    for(int i=1;i<=n;i++)    dama+=A[i]*(n-1-A[i]);    cout<<n*(n-1)*(n-2)/6-dama/2<<endl;    return 0;}


原创粉丝点击