AtCoder Grand Contest 019

Submission #4032389

Source codeソースコード

#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

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

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

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

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 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