Submission #4032032


Source Code Expand

Copy
#include<stdio.h>
#include<bits/stdc++.h>
using namespace std;
const int maxn = 10005;
const int mod = 998244353;
int add(int x,int y) { x+=y; return x>=mod?x-mod:x; }
int sub(int x,int y) { x-=y; return x<0?x+mod:x; }
int mul(int x,int y) { return 1ll*x*y%mod; }
int sqr(int x) { return 1ll*x*x%mod; }
int fac[maxn],inv[maxn];
char s1[maxn],s2[maxn];
int n;
int f[maxn][maxn];
int GC(int x,int y) {  if(x<y) return 0;return mul(fac[x],mul(inv[y],inv[x-y])); }
int main() {
	fac[0] = 1; inv[0] = inv[1] = 1;
	for(int i=1;i<=10000;i++) fac[i] = mul(fac[i-1],i);
	for(int i=2;i<=10000;i++) inv[i] = mul(inv[mod%i],mod-mod/i);
	for(int i=1;i<=10000;i++) inv[i] = mul(inv[i-1],inv[i]);
	scanf("%s%s",&s1[1],&s2[1]); n = strlen(s1+1);
	int A=0,B=0;
	for(int i=1;i<=n;i++) if((s1[i]-'0')|(s2[i]-'0'))(s1[i]==s2[i] ?A++:B++);
	B/=2;
	if((!A)||(!B)) { printf("%d",sqr(fac[A+B])); return 0; }
	for(int i=0;i<=B;i++) f[0][i] = sqr(fac[i]);
	for(int i=1;i<=A;i++) {
		for(int j=1;j<=B;j++) {
			f[i][j] = add( mul(f[i][j-1],sqr(j)) , mul(f[i-1][j],mul(i,j)) );
		}
	}
//cerr<<f[A][B]<<endl;
	int ans = 0;
	for(int i=0;i<=A;i++) {
		ans = add(ans,mul(f[A-i][B],mul(GC(A,i),mul(GC(A+B,i),sqr(fac[i])))));
	}
	printf("%d",ans);
}

Submission Info

Submission Time
Task E - Shuffle and Swap
User newuser
Language C++14 (GCC 5.4.1)
Score 1700
Code Size 1251 Byte
Status
Exec Time 142 ms
Memory 387840 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:20:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%s%s",&s1[1],&s2[1]); n = strlen(s1+1);
                             ^

Judge Result

Set Name Sample Partial All
Score / Max Score 0 / 0 1200 / 1200 500 / 500
Status
× 4
× 46
× 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 2 ms 384 KB
sample_02.txt 2 ms 384 KB
sample_03.txt 2 ms 384 KB
sample_04.txt 2 ms 384 KB
subtask_1_01.txt 1 ms 384 KB
subtask_1_02.txt 1 ms 384 KB
subtask_1_03.txt 2 ms 384 KB
subtask_1_04.txt 1 ms 384 KB
subtask_1_05.txt 1 ms 384 KB
subtask_1_06.txt 1 ms 384 KB
subtask_1_07.txt 1 ms 384 KB
subtask_1_08.txt 2 ms 384 KB
subtask_1_09.txt 2 ms 384 KB
subtask_1_10.txt 2 ms 384 KB
subtask_1_11.txt 2 ms 384 KB
subtask_1_12.txt 2 ms 2560 KB
subtask_1_13.txt 2 ms 2560 KB
subtask_1_14.txt 1 ms 384 KB
subtask_1_15.txt 6 ms 18944 KB
subtask_1_16.txt 6 ms 18944 KB
subtask_1_17.txt 6 ms 18944 KB
subtask_1_18.txt 5 ms 14848 KB
subtask_1_19.txt 4 ms 12800 KB
subtask_1_20.txt 4 ms 12800 KB
subtask_1_21.txt 4 ms 12800 KB
subtask_1_22.txt 4 ms 8704 KB
subtask_1_23.txt 3 ms 6784 KB
subtask_1_24.txt 2 ms 384 KB
subtask_1_25.txt 2 ms 384 KB
subtask_1_26.txt 1 ms 384 KB
subtask_1_27.txt 4 ms 8704 KB
subtask_1_28.txt 4 ms 8704 KB
subtask_1_29.txt 4 ms 8704 KB
subtask_1_30.txt 4 ms 10752 KB
subtask_1_31.txt 4 ms 10752 KB
subtask_1_32.txt 4 ms 10752 KB
subtask_1_33.txt 2 ms 384 KB
subtask_1_34.txt 2 ms 512 KB
subtask_1_35.txt 3 ms 8704 KB
subtask_1_36.txt 3 ms 8704 KB
subtask_1_37.txt 4 ms 8704 KB
subtask_1_38.txt 4 ms 8704 KB
subtask_1_39.txt 3 ms 4736 KB
subtask_1_40.txt 3 ms 4736 KB
subtask_1_41.txt 3 ms 4736 KB
subtask_1_42.txt 3 ms 4736 KB
subtask_2_01.txt 2 ms 384 KB
subtask_2_02.txt 2 ms 384 KB
subtask_2_03.txt 8 ms 23168 KB
subtask_2_04.txt 103 ms 142336 KB
subtask_2_05.txt 94 ms 134144 KB
subtask_2_06.txt 2 ms 384 KB
subtask_2_07.txt 88 ms 387840 KB
subtask_2_08.txt 87 ms 387840 KB
subtask_2_09.txt 90 ms 387584 KB
subtask_2_10.txt 142 ms 260992 KB
subtask_2_11.txt 142 ms 260992 KB
subtask_2_12.txt 142 ms 258944 KB
subtask_2_13.txt 139 ms 195584 KB
subtask_2_14.txt 138 ms 191488 KB
subtask_2_15.txt 140 ms 199680 KB
subtask_2_16.txt 114 ms 130304 KB
subtask_2_17.txt 119 ms 130432 KB
subtask_2_18.txt 114 ms 130304 KB
subtask_2_19.txt 2 ms 512 KB
subtask_2_20.txt 2 ms 384 KB
subtask_2_21.txt 2 ms 384 KB
subtask_2_22.txt 113 ms 350848 KB
subtask_2_23.txt 113 ms 350848 KB
subtask_2_24.txt 113 ms 350848 KB
subtask_2_25.txt 113 ms 350848 KB
subtask_2_26.txt 122 ms 330496 KB
subtask_2_27.txt 122 ms 330496 KB
subtask_2_28.txt 4 ms 1408 KB
subtask_2_29.txt 13 ms 9728 KB
subtask_2_30.txt 53 ms 48512 KB
subtask_2_31.txt 128 ms 160896 KB
subtask_2_32.txt 128 ms 160896 KB
subtask_2_33.txt 128 ms 160896 KB
subtask_2_34.txt 128 ms 160896 KB
subtask_2_35.txt 127 ms 320256 KB
subtask_2_36.txt 128 ms 320256 KB
subtask_2_37.txt 128 ms 320256 KB
subtask_2_38.txt 127 ms 320256 KB