AtCoder Grand Contest 019

Submission #4032032

Source codeソースコード

#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

Task問題 E - Shuffle and Swap
User nameユーザ名 newuser
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 AC
Score得点 1700
Source lengthソースコード長 1251 Byte
File nameファイル名
Exec time実行時間 142 ms
Memory usageメモリ使用量 387840 KB

Compiler messageコンパイルメッセージ

./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);
^

Test case

Set

Set name Score得点 / Max score Cases
Sample - 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
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