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