Submission #2238846


Source Code Expand

var mod = 1e9+7;
function Main(s) {
  var n = parseInt(s[0]);
  var sl = s[1].length;
  var a = Array(2).fill(0).map(a => Array(n+2).fill(0));
  a[0][0] = 1;
  for(var i = 1; i <= n; i++){
    a[i&1][0] = a[(i+1)&1][0] + a[(i+1)&1][1];
    a[i&1][0] %= mod;
    for(var j = 1; j <= i; j++){
      a[i&1][j] = a[(i+1)&1][j-1] * 2 + a[(i+1)&1][j+1];
      a[i&1][j] %= mod;
    }
  }
  console.log(permod(a[n&1][sl], powmod(2, sl)));
}
function abmod(){
	var rt = arguments[0];
	for(var i = 1; i < arguments.length; i++){
		rt = (rt >>> 16) * arguments[i] % mod * 0x10000 + (rt & 0xFFFF) * arguments[i];
		rt %= mod;
	}
	return rt;
}
function powmod(a,n){//a^n%mod
	var rt = 1;
	while(n){
		if(n & 1) rt = abmod(a, rt);
		a = abmod(a, a);
		n >>>= 1;
	}
	return rt;
}
function permod(a,n){
	var rt = powmod(n, mod-2);
	rt = abmod(rt, a);
	return rt;
}
Main(require("fs").readFileSync("/dev/stdin", "utf8").split("\n"));

Submission Info

Submission Time
Task F - Unhappy Hacking
User catoon
Language JavaScript (node.js v5.12)
Score 800
Code Size 955 Byte
Status AC
Exec Time 416 ms
Memory 7500 KB

Judge Result

Set Name Sample Sub1 Sub2
Score / Max Score 0 / 0 400 / 400 400 / 400
Status
AC × 3
AC × 23
AC × 44
Set Name Test Cases
Sample 0_01, 0_02, 0_03
Sub1 0_01, 0_02, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11, 1_12, 1_13, 1_14, 1_15, 1_16, 1_17, 1_18, 1_19, 1_20, 1_21, 1_22, 1_23, 1_24
Sub2 0_01, 0_02, 0_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11, 1_12, 1_13, 1_14, 1_15, 1_16, 1_17, 1_18, 1_19, 1_20, 1_21, 1_22, 1_23, 1_24, 2_25, 2_26, 2_27, 2_28, 2_29, 2_30, 2_31, 2_32, 2_33, 2_34, 2_35, 2_36, 2_37, 2_38, 2_39, 2_40, 2_41, 2_42, 2_43, 2_44
Case Name Status Exec Time Memory
0_01 AC 54 ms 7372 KB
0_02 AC 58 ms 7500 KB
0_03 AC 411 ms 7500 KB
1_04 AC 54 ms 7372 KB
1_05 AC 58 ms 7500 KB
1_06 AC 58 ms 7500 KB
1_07 AC 58 ms 7500 KB
1_08 AC 57 ms 7500 KB
1_09 AC 58 ms 7500 KB
1_10 AC 58 ms 7500 KB
1_11 AC 58 ms 7500 KB
1_12 AC 58 ms 7500 KB
1_13 AC 58 ms 7500 KB
1_14 AC 58 ms 7500 KB
1_15 AC 58 ms 7500 KB
1_16 AC 58 ms 7500 KB
1_17 AC 58 ms 7500 KB
1_18 AC 58 ms 7500 KB
1_19 AC 58 ms 7500 KB
1_20 AC 55 ms 7372 KB
1_21 AC 57 ms 7500 KB
1_22 AC 55 ms 7372 KB
1_23 AC 57 ms 7500 KB
1_24 AC 57 ms 7500 KB
2_25 AC 412 ms 7500 KB
2_26 AC 411 ms 7500 KB
2_27 AC 415 ms 7500 KB
2_28 AC 411 ms 7500 KB
2_29 AC 410 ms 7500 KB
2_30 AC 409 ms 7500 KB
2_31 AC 413 ms 7500 KB
2_32 AC 416 ms 7500 KB
2_33 AC 413 ms 7500 KB
2_34 AC 413 ms 7500 KB
2_35 AC 415 ms 7500 KB
2_36 AC 408 ms 7500 KB
2_37 AC 410 ms 7500 KB
2_38 AC 410 ms 7500 KB
2_39 AC 407 ms 7500 KB
2_40 AC 334 ms 7500 KB
2_41 AC 199 ms 7500 KB
2_42 AC 408 ms 7500 KB
2_43 AC 240 ms 7500 KB
2_44 AC 62 ms 7500 KB