提出 #35750498 
				
			
			ソースコード  拡げる 
			#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define op(x) ((x&1)?x+1:x-1)
#define odd(x) (x&1)
#define even(x) (!odd(x))
#define lc(x) (x<<1)
#define rc(x) (lc(x)|1)
#define lowbit(x) (x&-x)
#define mp(x,y) make_pair(x,y)
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
using namespace std;
const int MAXN=1e4+10,LIM=1e4,mod=998244353;
int mypow(int a,int n){
    if(!n)return 1;
    int tmp=mypow(a,n/2);tmp=1ll*tmp*tmp%mod;
    if(n&1)tmp=1ll*tmp*a%mod;return tmp;
}
int myinv(int a){return mypow(a,mod-2);}
int fact[MAXN],factinv[MAXN];
int C(int n,int m){
    if(n<m || m<0)return 0;
    return 1ll*fact[n]*factinv[m]%mod*factinv[n-m]%mod;
}
void add(int& x,int y){x=(x+y)%mod;}
void sub(int& x,int y){x=(x-y+mod)%mod;}
int P(int x){return (odd(x))?(mod-1):(1);}
//
int n,r1,r2,c1,c2,ans;
int pw[MAXN],piv[MAXN];
struct Poly{
    vector<ll>a;
    int n;
    Poly(int N=0){a.resize(N+1,0);n=N;}
    void split(int N,int mode=0){if(mode || (n>N) ){a.resize(N+1,0);n=N;}}
    void output(){rep(i,0,n)cout<<a[i]<<" ";cout<<"\n";}
};
namespace NTT{
    const int MAXN=1e5;
    ll f[MAXN],g[MAXN],h[MAXN],rev[MAXN],N;
    void change(ll* f,int N){rep(i,0,N-1)if(i<rev[i])swap(f[i],f[rev[i]]);}
    void DFT(ll* f,int N,ll rev){
        change(f,N);
        for(int len=2;len<=N;len<<=1){
            ll step=mypow(rev,(mod-1)/len);
            for(int i=0;i<N;i+=len){
                ll w=1;
                rep(j,0,len/2-1){
                    ll x=f[i+j],y=f[i+j+len/2];
                    f[i+j]=(x+w*y)%mod;
                    f[i+j+len/2]=(x-w*y%mod+mod)%mod;
                    w=1ll*w*step%mod;
                }
            }
        }
    }
    Poly ntt(Poly F,Poly G){
        int n=F.n,m=G.n;N=1;
        while(N<=(n+m))N<<=1;
        rep(i,0,N-1)f[i]=g[i]=h[i]=0;
        rep(i,0,N-1){
            rev[i]=rev[i>>1]>>1;
            if(i&1)rev[i]|=(N>>1);
        }
        rep(i,0,n)f[i]=F.a[i];
        rep(i,0,m)g[i]=G.a[i];
        DFT(f,N,3);DFT(g,N,3);
        rep(i,0,N-1)h[i]=1ll*f[i]*g[i]%mod;
        DFT(h,N,myinv(3));
        ll inv=myinv(N);
        rep(i,0,N-1)h[i]=1ll*h[i]*inv%mod;
        Poly ret(n+m);
        rep(i,0,n+m)ret.a[i]=h[i];
        return ret;
    }
};
Poly operator*(Poly p1,Poly p2){return NTT::ntt(p1,p2);}
//
int main(){
    fact[0]=1;rep(i,1,LIM)fact[i]=1ll*fact[i-1]*i%mod;
    factinv[LIM]=myinv(fact[LIM]);per(i,LIM-1,0)factinv[i]=1ll*factinv[i+1]*(i+1)%mod;
    
    pw[0]=1;rep(i,1,LIM)pw[i]=pw[i-1]*2%mod;
    piv[LIM]=myinv(pw[LIM]);per(i,LIM-1,0)piv[i]=piv[i+1]*2%mod;
    //
    cin>>n;
    rep(i,1,n){
        int r;cin>>r;
        if(r==1)r1++;else if(r==2)r2++;
    }
    rep(i,1,n){
        int c;cin>>c;
        if(c==1)c1++;else if(c==2)c2++;
    }
    if(r1+2*r2 != c1+2*c2){cout<<"0";return 0;}
    Poly F(n),G(n),H(n);
    int m=min(r2,c2);
    rep(i,0,m)F.a[i]=1ll*C(r2,i)*C(c2,i)%mod*fact[i]%mod*fact[r2-i]%mod*fact[c2-i]%mod*piv[r2+c2-2*i]%mod;
    rep(i,0,m)G.a[i]=1ll*P(i)*pw[i]%mod*factinv[i]%mod;
    rep(i,0,m)H.a[i]=1ll*fact[c1+2*(c2-i)]*factinv[r2-i]%mod*factinv[c2-i]%mod;
    F=F*G;
    rep(i,0,m)F.a[i]=1ll*F.a[i]*H.a[i]%mod,add(ans,F.a[i]);
    
    cout<<ans;
    return 0;
} 
			
				提出情報
				
			 
			
			
				
					提出日時 
					2022-10-17 18:44:05+0900  
				
					問題 
					G - Row Column Sums 2  
				
					ユーザ 
					Crying   
				
					言語 
					C++ (GCC 9.2.1) 
				 
				
					得点 
					600 
				 
				
					コード長 
					3366 Byte 
				 
				
					結果 
					AC  
				
					
						実行時間 
						13 ms 
					 
					
						メモリ 
						4440 KiB 
					 
				
			
コンパイルエラー 
				./Main.cpp: In function ‘int mypow(int, int)’:
./Main.cpp:19:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
   19 |     if(n&1)tmp=1ll*tmp*a%mod;return tmp;
      |     ^~
./Main.cpp:19:30: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
   19 |     if(n&1)tmp=1ll*tmp*a%mod;return tmp;
      |                              ^~~~~~
 
			
			
				ジャッジ結果 
				
					
							
								セット名 
								
									Sample 
								
									All 
								
							 
							
								得点 / 配点 
								
									0 / 0 
								
									600 / 600 
								
							 
							
								結果 
								
									
										
											
											
										
									 
								
									
										
											
											
										
									 
								
							 
						
 
				
					
						
						
							セット名 
							テストケース 
						 
						 
						
						
							
								Sample 
								example0.txt, example1.txt, example2.txt 
							 
						
							
								All 
								000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, example0.txt, example1.txt, example2.txt 
							 
						
						 
					
							
							
								ケース名 
								結果 
								実行時間 
								メモリ 
							 
							 
							
							
							
								000.txt 
								
									AC 8 ms 
									3768 KiB 
								
							 
							
							
								001.txt 
								
									AC 3 ms 
									3800 KiB 
								
							 
							
							
								002.txt 
								
									AC 2 ms 
									3580 KiB 
								
							 
							
							
								003.txt 
								
									AC 2 ms 
									3784 KiB 
								
							 
							
							
								004.txt 
								
									AC 2 ms 
									3756 KiB 
								
							 
							
							
								005.txt 
								
									AC 8 ms 
									4368 KiB 
								
							 
							
							
								006.txt 
								
									AC 13 ms 
									4244 KiB 
								
							 
							
							
								007.txt 
								
									AC 10 ms 
									4412 KiB 
								
							 
							
							
								008.txt 
								
									AC 5 ms 
									3572 KiB 
								
							 
							
							
								009.txt 
								
									AC 5 ms 
									3672 KiB 
								
							 
							
							
								010.txt 
								
									AC 3 ms 
									3704 KiB 
								
							 
							
							
								011.txt 
								
									AC 5 ms 
									3680 KiB 
								
							 
							
							
								012.txt 
								
									AC 5 ms 
									3652 KiB 
								
							 
							
							
								013.txt 
								
									AC 5 ms 
									3752 KiB 
								
							 
							
							
								014.txt 
								
									AC 9 ms 
									4404 KiB 
								
							 
							
							
								015.txt 
								
									AC 11 ms 
									4416 KiB 
								
							 
							
							
								016.txt 
								
									AC 11 ms 
									4240 KiB 
								
							 
							
							
								017.txt 
								
									AC 10 ms 
									4440 KiB 
								
							 
							
							
								018.txt 
								
									AC 11 ms 
									4440 KiB 
								
							 
							
							
								019.txt 
								
									AC 8 ms 
									4332 KiB 
								
							 
							
							
								020.txt 
								
									AC 8 ms 
									4404 KiB 
								
							 
							
							
								021.txt 
								
									AC 8 ms 
									4408 KiB 
								
							 
							
							
								022.txt 
								
									AC 9 ms 
									4408 KiB 
								
							 
							
							
								023.txt 
								
									AC 9 ms 
									4304 KiB 
								
							 
							
							
								024.txt 
								
									AC 11 ms 
									4408 KiB 
								
							 
							
							
								025.txt 
								
									AC 9 ms 
									4368 KiB 
								
							 
							
							
								026.txt 
								
									AC 11 ms 
									4412 KiB 
								
							 
							
							
								027.txt 
								
									AC 11 ms 
									4284 KiB 
								
							 
							
							
								028.txt 
								
									AC 11 ms 
									4296 KiB 
								
							 
							
							
								029.txt 
								
									AC 10 ms 
									4296 KiB 
								
							 
							
							
								030.txt 
								
									AC 8 ms 
									4296 KiB 
								
							 
							
							
								031.txt 
								
									AC 12 ms 
									4244 KiB 
								
							 
							
							
								032.txt 
								
									AC 8 ms 
									4404 KiB 
								
							 
							
							
								033.txt 
								
									AC 8 ms 
									4240 KiB 
								
							 
							
							
								example0.txt 
								
									AC 2 ms 
									3592 KiB 
								
							 
							
							
								example1.txt 
								
									AC 2 ms 
									3756 KiB 
								
							 
							
							
								example2.txt 
								
									AC 2 ms 
									3768 KiB