Submission #4032389


Source Code Expand

Copy
#include<stdio.h>
#include<cstring>
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 = std::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)) );
		}
	}
	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++ (GCC 5.4.1)
Score 1700
Code Size 1170 Byte
Status
Exec Time 151 ms
Memory 387712 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:19: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 = std::strlen(s1+1);
                             ^

Judge Result

Set Name Score / Max Score Test Cases
Sample 0 / 0 sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
Partial 1200 / 1200 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 500 / 500 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 1 ms 256 KB
sample_02.txt 1 ms 256 KB
sample_03.txt 1 ms 256 KB
sample_04.txt 1 ms 256 KB
subtask_1_01.txt 1 ms 256 KB
subtask_1_02.txt 1 ms 256 KB
subtask_1_03.txt 1 ms 256 KB
subtask_1_04.txt 1 ms 256 KB
subtask_1_05.txt 1 ms 256 KB
subtask_1_06.txt 1 ms 256 KB
subtask_1_07.txt 1 ms 256 KB
subtask_1_08.txt 1 ms 256 KB
subtask_1_09.txt 1 ms 256 KB
subtask_1_10.txt 1 ms 256 KB
subtask_1_11.txt 1 ms 384 KB
subtask_1_12.txt 1 ms 2560 KB
subtask_1_13.txt 2 ms 2560 KB
subtask_1_14.txt 1 ms 256 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 5 ms 12800 KB
subtask_1_21.txt 4 ms 12800 KB
subtask_1_22.txt 3 ms 8704 KB
subtask_1_23.txt 3 ms 6656 KB
subtask_1_24.txt 1 ms 256 KB
subtask_1_25.txt 1 ms 256 KB
subtask_1_26.txt 1 ms 256 KB
subtask_1_27.txt 3 ms 8704 KB
subtask_1_28.txt 3 ms 8704 KB
subtask_1_29.txt 3 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 1 ms 256 KB
subtask_1_34.txt 1 ms 512 KB
subtask_1_35.txt 3 ms 8704 KB
subtask_1_36.txt 3 ms 8704 KB
subtask_1_37.txt 3 ms 8704 KB
subtask_1_38.txt 3 ms 8704 KB
subtask_1_39.txt 2 ms 4608 KB
subtask_1_40.txt 2 ms 4608 KB
subtask_1_41.txt 2 ms 4608 KB
subtask_1_42.txt 2 ms 4608 KB
subtask_2_01.txt 1 ms 256 KB
subtask_2_02.txt 1 ms 256 KB
subtask_2_03.txt 8 ms 23040 KB
subtask_2_04.txt 104 ms 142336 KB
subtask_2_05.txt 96 ms 134144 KB
subtask_2_06.txt 1 ms 256 KB
subtask_2_07.txt 97 ms 387712 KB
subtask_2_08.txt 97 ms 387712 KB
subtask_2_09.txt 100 ms 387584 KB
subtask_2_10.txt 151 ms 260864 KB
subtask_2_11.txt 150 ms 260864 KB
subtask_2_12.txt 150 ms 258816 KB
subtask_2_13.txt 142 ms 195584 KB
subtask_2_14.txt 141 ms 191488 KB
subtask_2_15.txt 143 ms 199680 KB
subtask_2_16.txt 116 ms 130176 KB
subtask_2_17.txt 117 ms 130176 KB
subtask_2_18.txt 116 ms 130176 KB
subtask_2_19.txt 1 ms 384 KB
subtask_2_20.txt 1 ms 384 KB
subtask_2_21.txt 1 ms 256 KB
subtask_2_22.txt 123 ms 350848 KB
subtask_2_23.txt 123 ms 350720 KB
subtask_2_24.txt 123 ms 350720 KB
subtask_2_25.txt 123 ms 350848 KB
subtask_2_26.txt 133 ms 330368 KB
subtask_2_27.txt 133 ms 330368 KB
subtask_2_28.txt 3 ms 1280 KB
subtask_2_29.txt 12 ms 9600 KB
subtask_2_30.txt 54 ms 48512 KB
subtask_2_31.txt 131 ms 160768 KB
subtask_2_32.txt 131 ms 160768 KB
subtask_2_33.txt 131 ms 160768 KB
subtask_2_34.txt 131 ms 160768 KB
subtask_2_35.txt 137 ms 320128 KB
subtask_2_36.txt 138 ms 320128 KB
subtask_2_37.txt 138 ms 320128 KB
subtask_2_38.txt 138 ms 320128 KB