update
This commit is contained in:
parent
211c7ea96b
commit
3d9398ff69
@ -19,6 +19,28 @@ ostream&operator<<(ostream &os,const pair<T,P> &p){
|
|||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ostream&operator<<(ostream&os,ll num){
|
||||||
|
// if(num<0){
|
||||||
|
// cout<<'-';
|
||||||
|
// num=-num;
|
||||||
|
// }
|
||||||
|
// string str;
|
||||||
|
// while(num!=0){
|
||||||
|
// str=str+char(int(num%10)+'0');
|
||||||
|
// num/=10;
|
||||||
|
// }
|
||||||
|
// reverse(str.begin(),str.end());
|
||||||
|
// cout<<str;
|
||||||
|
// return os;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// istream&operator>>(istream &is,ll &num){
|
||||||
|
// int64_t tmp;
|
||||||
|
// cin>>tmp;
|
||||||
|
// num=tmp;
|
||||||
|
// return is;
|
||||||
|
// }
|
||||||
|
|
||||||
void pnm(const ll (&a)[maxn][maxn]){
|
void pnm(const ll (&a)[maxn][maxn]){
|
||||||
for(ll i{1};i<=n;i++){
|
for(ll i{1};i<=n;i++){
|
||||||
cout<<"[DEBUG] ";
|
cout<<"[DEBUG] ";
|
||||||
@ -30,11 +52,35 @@ void pnm(const ll (&a)[maxn][maxn]){
|
|||||||
cout<<'\n';
|
cout<<'\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<class T>
|
||||||
|
void clear(T (&a)[maxn][maxn]){
|
||||||
|
for(ll i{0};i<=n+1;i++){
|
||||||
|
for(ll j{0};j<=m+1;j++){
|
||||||
|
a[i][j]=0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// template<class T>
|
||||||
|
// void clear(T &a){
|
||||||
|
// for(ll i{0};i<=n+1;i++){
|
||||||
|
// for(ll j{0};j<=m+1;j++){
|
||||||
|
// a[i][j]=0;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
template<class T,class ...Args>
|
||||||
|
void clear(T&&t,Args&&...args){
|
||||||
|
clear(t);
|
||||||
|
clear(args...);
|
||||||
|
}
|
||||||
|
|
||||||
int main(){
|
int main(){
|
||||||
iostream::sync_with_stdio(0),cin.tie(0),cout.tie(0);
|
iostream::sync_with_stdio(0),cin.tie(0),cout.tie(0);
|
||||||
|
|
||||||
cin>>t>>id;
|
cin>>t>>id;
|
||||||
while(t--){
|
while(t--){
|
||||||
|
clear(tor,tou,ptor,tod);
|
||||||
cin>>n>>m>>c>>f;
|
cin>>n>>m>>c>>f;
|
||||||
totc=0;
|
totc=0;
|
||||||
totf=0;
|
totf=0;
|
||||||
@ -49,7 +95,7 @@ int main(){
|
|||||||
|
|
||||||
// look right
|
// look right
|
||||||
for(ll i{1};i<=n;i++){
|
for(ll i{1};i<=n;i++){
|
||||||
tor[i][m+1]=0;
|
// tor[i][m+1]=0;
|
||||||
for(ll j{m};j>=0;j--){
|
for(ll j{m};j>=0;j--){
|
||||||
if(g[i][j]){
|
if(g[i][j]){
|
||||||
tor[i][j]=0;
|
tor[i][j]=0;
|
||||||
@ -65,7 +111,7 @@ int main(){
|
|||||||
|
|
||||||
//look up
|
//look up
|
||||||
for(ll j{1};j<=m;j++){
|
for(ll j{1};j<=m;j++){
|
||||||
tou[0][j]=0;
|
// tou[0][j]=0;
|
||||||
for(ll i{1};i<=n;i++){
|
for(ll i{1};i<=n;i++){
|
||||||
if(g[i][j]){
|
if(g[i][j]){
|
||||||
tou[i][j]=0;
|
tou[i][j]=0;
|
||||||
@ -77,9 +123,9 @@ int main(){
|
|||||||
// pnm(tou);
|
// pnm(tou);
|
||||||
|
|
||||||
//look down
|
//look down
|
||||||
for(ll j{1};j<=m;j++){
|
// for(ll j{1};j<=m;j++){
|
||||||
tod[n+1][j]=0;
|
// tod[n+1][j]=0;
|
||||||
}
|
// }
|
||||||
for(ll i{n};i>=0;i--){
|
for(ll i{n};i>=0;i--){
|
||||||
for(ll j{1};j<=m;j++){
|
for(ll j{1};j<=m;j++){
|
||||||
if(g[i][j]){
|
if(g[i][j]){
|
||||||
@ -99,12 +145,12 @@ int main(){
|
|||||||
// cout<<make_pair(i,j)<<'\n';
|
// cout<<make_pair(i,j)<<'\n';
|
||||||
totc = (totc+(ptor[i-2][j]*(tor[i][j]-1))%mod)%mod;
|
totc = (totc+(ptor[i-2][j]*(tor[i][j]-1))%mod)%mod;
|
||||||
if(tod[i][j]-1>0){
|
if(tod[i][j]-1>0){
|
||||||
totf = (totf+(ptor[i-1][j]*(tor[i][j]-1)*(tod[i][j]-1))%mod)%mod;
|
totf = (totf+(((ptor[i-1][j]*(tor[i][j]-1))%mod)*(tod[i][j]-1))%mod)%mod;
|
||||||
}
|
}
|
||||||
// pt(totc,totf);
|
// pt(totc,totf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cout<<totc<<' '<<totf<<'\n';
|
cout<<(c*totc)%mod<<' '<<(f*totf)%mod<<'\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,6 +1,19 @@
|
|||||||
1 0
|
3 0
|
||||||
4 3 1 1
|
4 3 1 1
|
||||||
001
|
001
|
||||||
010
|
010
|
||||||
000
|
000
|
||||||
000
|
000
|
||||||
|
4 3 1 1
|
||||||
|
001
|
||||||
|
010
|
||||||
|
000
|
||||||
|
000
|
||||||
|
1 0
|
||||||
|
6 6 1 1
|
||||||
|
000010
|
||||||
|
011000
|
||||||
|
000110
|
||||||
|
010000
|
||||||
|
011000
|
||||||
|
000000
|
||||||
|
Loading…
Reference in New Issue
Block a user