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