Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
49268 | wsad | 【AB-1】图 | C++ | 运行出错 | 0 | 808 MS | 1012 KB | 728 | 2022-05-05 13:17:24 |
#include<bits/stdc++.h> using namespace std; const int M=1e9+7; int f[200003]; 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; } int main(){ int n,m,T,x,y,ans=1; n=Read(),m=Read(),T=Read(); while(m--) x=Read(),y=Read(),++f[y]; while(n--) if(f[n+1]) ans=ans*f[n+1]%M; cout<<ans<<'\n'; while(T--) { x=Read(),y=Read(); if(f[y]) ans=ans/Inv(f[y],M-2)%M; f[y]=(f[y]+1)%M; ans=ans*f[y]%M; cout<<ans<<'\n'; } return 0; }