General
 
 
# Author Problem Lang Verdict Time Memory Sent Judged  
63417698 Practice:
Zory
917D - 11 C++14 (GCC 6-32) Accepted 31 ms 624 KB 2019-10-26 08:07:45 2019-10-26 08:07:45
→ Source
//Zory-2019
#include<bits/stdc++.h>
using namespace std;
namespace mine
{
    typedef long long ll;
    #define pr pair<int,int>
    #define FR first
    #define SE second
    #define MP make_pair
    #define PB push_back
    #define vc vector
    #define all(x) (x).begin(),(x).end()
    #define sz(x) ((int)(x).size())
    #define bin(x) (1ll<<(x))
    #define GG(x) if(x) {puts("error");exit(666);}
    #define fo(i,l,r) for(int i=(l),I=(r);i<=I;i++)
    #define fd(i,r,l) for(int i=(r),I=(l);i>=I;i--)
    ll qread()
    {
        ll ans=0,f=1;char c=getchar();
        while(c<'0' or c>'9') {if(c=='-')f=-1;c=getchar();}
        while('0'<=c and c<='9') ans=ans*10+c-'0',c=getchar();
        return ans*f;
    }
    void write(ll num)
    {
        if(num<0) putchar('-'),num=-num;
        if(num>=10) write(num/10);
        putchar('0'+num%10);
    }
    void write1(ll num){write(num);putchar(' ');}
    void write2(ll num){write(num);putchar('\n');}
    template<typename T> void chmax(T &x,const T y) {x=(x>y?x:y);}
    template<typename T> void chmin(T &x,const T y) {x=(x<y?x:y);}
    ll gcd(ll x,ll y){return y?gcd(y,x%y):x;}

    const int INF=0x3f3f3f3f;
    const int MOD=1e9+7;
    int mm(const int x){return x>=MOD?x-MOD:x;}
    template<typename T> void add(T &x,const int &y){x=(x+y>=MOD?x+y-MOD:x+y);}
    ll qpower(ll x,ll e,int mod=MOD){ll ans=1;GG(e<0)while(e){if(e&1)ans=ans*x%mod;x=x*x%mod;e>>=1;}return ans;}
    ll invm(ll x){return qpower(x,MOD-2);}
    const int N=1e2+10;

    vc<int> to[N];
    ll ff[N][N],g[N][N],ff2[N],g2[N];int siz[N];
    void dp(int x,int fa)
    {
        ff[x][0]=g[x][0]=1;siz[x]=1;
        for(auto y:to[x]) if(y!=fa)
        {
            dp(y,x);
            memset(ff2,0,sizeof ff2);memset(g2,0,sizeof g2);
            fo(i,0,siz[x]) fo(j,0,siz[y])
            {
                add(g2[i+j], (g[x][i]*ff[y][j]+ff[x][i]*g[y][j])%MOD );
                add(ff2[i+j], ff[x][i]*ff[y][j]%MOD );
                add(g2[i+j+1], g[x][i]*g[y][j]%MOD );
                add(ff2[i+j+1], ff[x][i]*g[y][j]%MOD );
            }
            memcpy(ff[x],ff2,sizeof ff2);memcpy(g[x],g2,sizeof g2);siz[x]+=siz[y];
        }
    }
    int C[N][N],F[N],G[N];
    void main()
    {
        C[0][0]=1;fo(i,1,N-1){C[i][0]=1;fo(j,1,i)C[i][j]=mm(C[i-1][j-1]+C[i-1][j]);}
        int n=qread();fo(i,1,n-1) {int x=qread(),y=qread();to[x].PB(y);to[y].PB(x);}
        dp(1,0);fo(k,1,n) G[n-k]=g[1][k-1]*qpower(n,MOD-1+k-2)%MOD;
        fo(i,0,n-1)
        {
            int sum=0;fo(j,i,n-1) add(sum, ll((j-i)&1?MOD-1:1)*G[j]%MOD*C[j][i]%MOD );
            write1(sum);
        }
    }
};//(ans+MOD)%MOD
signed main()
{
    // freopen("a.in","r",stdin);
    srand(time(0));
    mine::main();
}
?
Time: ? ms, memory: ? KB
Verdict: ?
Input
?
Participant's output
?
Jury's answer
?
Checker comment
?
Diagnostics
?
Click to see test details