Submission #1542662


Source Code Expand

#include<stdio.h>
#include<vector>
#include<algorithm>
#include<string>
#include<iostream>
using namespace std;
typedef long long ll;
ll mod=998244353;
ll dp[5011][10011];
#define SIZE 100000
ll inv[SIZE+1];
ll kai[SIZE+1];
ll invkai[SIZE+1];
void invinit()
{
	inv[1] = 1;
	for (int i = 2; i <= SIZE; i++)
	{
		inv[i] = mod - (mod / i)*inv[mod%i] % mod;
	}
	kai[0] = invkai[0] = 1;
	for (int i = 1; i <= SIZE; i++)
	{
		kai[i] = kai[i - 1] * i%mod;
		invkai[i] = invkai[i - 1] * inv[i] % mod;
	}
}
ll com(ll a, ll b)
{
	if (b < 0 || a < b)return 0;
	return (invkai[b] * invkai[a - b]) % mod*kai[a] % mod;
}
int main()
{
	string sa,sb;
	cin>>sa>>sb;
	invinit();
	int c1=0,c2=0;
	for(int i=0;i<sa.size();i++)
	{
		if(sa[i]=='0'&&sb[i]=='1')c1++;
		if(sa[i]=='1'&&sb[i]=='1')c2++;
	}
	dp[0][0]=1;
	for(int i=0;i<=c1;i++)
	{
		for(int j=0;j<=c2;j++)
		{
			dp[i+1][j]=(dp[i+1][j]+(ll)(i+1)*(ll)(i+1)*dp[i][j])%mod;
			dp[i][j+1]=(dp[i][j+1]+(ll)(i)*(ll)(j+1)*dp[i][j])%mod;
			//printf("%lld ",dp[i][j]);
		}
		//printf("\n");
	}
	ll ans=0;
	ll t=1;
	for(int i=0;i<=c2;i++)
	{
		ans+=dp[c1][c2-i]*t%mod*com(c1+c2,i)%mod*com(c2,i);
		ans%=mod;
		t*=(i+1)*(i+1);
		t%=mod;
	}
	printf("%lld\n",ans);
}

Submission Info

Submission Time
Task E - Shuffle and Swap
User DEGwer
Language C++14 (GCC 5.4.1)
Score 1700
Code Size 1258 Byte
Status AC
Exec Time 308 ms
Memory 393472 KB

Judge Result

Set Name Sample Partial All
Score / Max Score 0 / 0 1200 / 1200 500 / 500
Status
AC × 4
AC × 46
AC × 88
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
Partial sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_2_01.txt, subtask_2_02.txt, subtask_2_03.txt, subtask_2_04.txt, subtask_2_05.txt, subtask_2_06.txt, subtask_2_07.txt, subtask_2_08.txt, subtask_2_09.txt, subtask_2_10.txt, subtask_2_11.txt, subtask_2_12.txt, subtask_2_13.txt, subtask_2_14.txt, subtask_2_15.txt, subtask_2_16.txt, subtask_2_17.txt, subtask_2_18.txt, subtask_2_19.txt, subtask_2_20.txt, subtask_2_21.txt, subtask_2_22.txt, subtask_2_23.txt, subtask_2_24.txt, subtask_2_25.txt, subtask_2_26.txt, subtask_2_27.txt, subtask_2_28.txt, subtask_2_29.txt, subtask_2_30.txt, subtask_2_31.txt, subtask_2_32.txt, subtask_2_33.txt, subtask_2_34.txt, subtask_2_35.txt, subtask_2_36.txt, subtask_2_37.txt, subtask_2_38.txt
Case Name Status Exec Time Memory
sample_01.txt AC 7 ms 4352 KB
sample_02.txt AC 7 ms 4352 KB
sample_03.txt AC 7 ms 4352 KB
sample_04.txt AC 7 ms 4480 KB
subtask_1_01.txt AC 7 ms 4352 KB
subtask_1_02.txt AC 7 ms 4352 KB
subtask_1_03.txt AC 7 ms 4352 KB
subtask_1_04.txt AC 7 ms 4352 KB
subtask_1_05.txt AC 7 ms 4352 KB
subtask_1_06.txt AC 7 ms 4352 KB
subtask_1_07.txt AC 7 ms 4352 KB
subtask_1_08.txt AC 7 ms 4352 KB
subtask_1_09.txt AC 7 ms 4352 KB
subtask_1_10.txt AC 7 ms 4352 KB
subtask_1_11.txt AC 7 ms 6400 KB
subtask_1_12.txt AC 8 ms 8448 KB
subtask_1_13.txt AC 9 ms 12544 KB
subtask_1_14.txt AC 7 ms 4352 KB
subtask_1_15.txt AC 7 ms 4352 KB
subtask_1_16.txt AC 7 ms 4352 KB
subtask_1_17.txt AC 7 ms 4352 KB
subtask_1_18.txt AC 8 ms 6400 KB
subtask_1_19.txt AC 9 ms 10496 KB
subtask_1_20.txt AC 9 ms 10496 KB
subtask_1_21.txt AC 9 ms 10496 KB
subtask_1_22.txt AC 9 ms 12544 KB
subtask_1_23.txt AC 10 ms 16640 KB
subtask_1_24.txt AC 11 ms 22784 KB
subtask_1_25.txt AC 11 ms 22784 KB
subtask_1_26.txt AC 11 ms 22784 KB
subtask_1_27.txt AC 10 ms 14592 KB
subtask_1_28.txt AC 10 ms 14592 KB
subtask_1_29.txt AC 10 ms 14592 KB
subtask_1_30.txt AC 9 ms 10496 KB
subtask_1_31.txt AC 9 ms 10496 KB
subtask_1_32.txt AC 9 ms 12544 KB
subtask_1_33.txt AC 11 ms 22784 KB
subtask_1_34.txt AC 10 ms 20736 KB
subtask_1_35.txt AC 9 ms 12544 KB
subtask_1_36.txt AC 9 ms 12544 KB
subtask_1_37.txt AC 9 ms 12544 KB
subtask_1_38.txt AC 9 ms 12544 KB
subtask_1_39.txt AC 10 ms 18688 KB
subtask_1_40.txt AC 10 ms 18688 KB
subtask_1_41.txt AC 10 ms 18688 KB
subtask_1_42.txt AC 10 ms 18688 KB
subtask_2_01.txt AC 8 ms 4352 KB
subtask_2_02.txt AC 8 ms 4352 KB
subtask_2_03.txt AC 15 ms 24832 KB
subtask_2_04.txt AC 241 ms 205056 KB
subtask_2_05.txt AC 219 ms 192768 KB
subtask_2_06.txt AC 9 ms 4352 KB
subtask_2_07.txt AC 9 ms 4352 KB
subtask_2_08.txt AC 9 ms 4352 KB
subtask_2_09.txt AC 18 ms 6400 KB
subtask_2_10.txt AC 265 ms 133376 KB
subtask_2_11.txt AC 264 ms 133376 KB
subtask_2_12.txt AC 266 ms 135424 KB
subtask_2_13.txt AC 307 ms 198912 KB
subtask_2_14.txt AC 308 ms 203008 KB
subtask_2_15.txt AC 307 ms 196864 KB
subtask_2_16.txt AC 291 ms 264448 KB
subtask_2_17.txt AC 292 ms 264448 KB
subtask_2_18.txt AC 291 ms 264448 KB
subtask_2_19.txt AC 85 ms 393472 KB
subtask_2_20.txt AC 84 ms 393472 KB
subtask_2_21.txt AC 84 ms 393472 KB
subtask_2_22.txt AC 112 ms 43264 KB
subtask_2_23.txt AC 112 ms 43264 KB
subtask_2_24.txt AC 112 ms 43264 KB
subtask_2_25.txt AC 112 ms 43264 KB
subtask_2_26.txt AC 155 ms 63744 KB
subtask_2_27.txt AC 156 ms 63744 KB
subtask_2_28.txt AC 88 ms 393472 KB
subtask_2_29.txt AC 107 ms 385280 KB
subtask_2_30.txt AC 188 ms 346368 KB
subtask_2_31.txt AC 306 ms 233728 KB
subtask_2_32.txt AC 305 ms 233728 KB
subtask_2_33.txt AC 306 ms 233728 KB
subtask_2_34.txt AC 306 ms 233728 KB
subtask_2_35.txt AC 177 ms 73984 KB
subtask_2_36.txt AC 177 ms 73984 KB
subtask_2_37.txt AC 176 ms 73984 KB
subtask_2_38.txt AC 176 ms 73984 KB