Submission #208605

#TimeUsernameProblemLanguageResultExecution timeMemory
208605MKopchev무제 (POI11_kon)C++14
100 / 100
2083 ms2680 KiB
#include<bits/stdc++.h>
using namespace std;
const int nmax=5000+42;
int n;
int deg[nmax];

bool cmp(int a,int b)
{
    return a>b;
}

long long comb(int s,int t)
{
    t=min(t,s-t);

    long long ret=1;
    for(int i=1;i<=t;i++)
        ret=ret*(s+1-i)/i;

    return ret;
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie();

    cin>>n;

    for(int i=1;i<=n;i++)
    {
        int SZ,to;
        cin>>deg[i];
        for(int j=1;j<=deg[i];j++)
        {
            cin>>to;
        }
    }
    sort(deg+1,deg+n+1,cmp);

    long long output=0;
    for(int k=1;k<n;k++)
    {
        int sum_left=0,sum_right=k*(k-1);
        for(int j=1;j<=k;j++)sum_left+=deg[j];
        for(int j=k+1;j<=n;j++)sum_right+=deg[j];

        if(sum_left==sum_right)
        {
            int eq=0,eq_taken=0;
            for(int j=1;j<=k;j++)
                if(deg[j]==deg[k])eq_taken++;
            for(int j=1;j<=n;j++)
                if(deg[j]==deg[k])eq++;

            output=output+comb(eq,eq_taken);
        }
    }

    cout<<output<<endl;
    return 0;
}

Compilation message (stderr)

kon.cpp: In function 'int main()':
kon.cpp:31:13: warning: unused variable 'SZ' [-Wunused-variable]
         int SZ,to;
             ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...