Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
49409 | wsad | 【AB-1】图 | C++ | 通过 | 100 | 59 MS | 1008 KB | 728 | 2022-05-06 22:27:44 |
#include<bits/stdc++.h> using namespace std; const int M=1e9+7; int f[200005]; #define int long long int Read(){ int sum=0; char ch=getchar(); while(ch<'0' || ch>'9') ch=getchar(); while(ch>='0' && ch<='9') sum=sum*10+ch-'0',ch=getchar(); return sum; } int Inv(int x,int p){ long long ans=1; while(p) { if(p & 1) ans=ans*x%M; x=x*x%M; p>>=1; } return ans%M; } signed main(){ int n,m,T,x,y,ans=1; n=Read(),m=Read(),T=Read(); while(m--) x=Read(),y=Read(),++f[y]; for(int i=2;i<=n;++i) ans=ans*f[i]%M; cout<<ans<<'\n'; while(T--) { x=Read(),y=Read(); ans=ans*Inv(f[y],M-2)%M; ++f[y]; ans=ans*f[y]%M; cout<<ans<<'\n'; } return 0; }