提出 #8772442


ソースコード 拡げる

"use strict";

const permutateWithRepetitions = (
  permutationOptions,
  permutationLength
) => {
  if (permutationLength === 1) {
    return permutationOptions.map(permutationOption => [permutationOption]);
  }

  const permutations = [];

  const smallerPermutations = permutateWithRepetitions(
    permutationOptions,
    permutationLength - 1
  );

  permutationOptions.forEach((currentOption) => {
    smallerPermutations.forEach((smallerPermutation) => {
      permutations.push([currentOption].concat(smallerPermutation));
    });
  });

  return permutations;
}

const main = arg => {
    arg = arg.trim().split("\n");
    const N = parseInt(arg[0]);
    const S = arg[1].split("").map(n=>parseInt(n));

    // 最大で1000通りしかありえないので全探索する
    const digits = [0,1,2,3,4,5,6,7,8,9];
    
    const combos = permutateWithRepetitions(digits, 3);
    
    let cnt = 0;
    
    for(let i=0; i<1000; i++) {
        let digit1 = combos[i][0];
        let digit2 = combos[i][1];
        let digit3 = combos[i][2];
        
        let flag1 = false;
        let flag2 = false;
        let flag3 = false;

        for(let j=0; j<N; j++) {
            if(S[j] === digit1 && flag1 !== true) {
                flag1 = true;
            } else if(S[j] === digit2 && flag1 && flag2 !== true) {
                flag2 = true;
            } else if(S[j] === digit3 && flag1 && flag2) {
                flag3 = true;
            }
        }
        
        
        if(flag1 && flag2 && flag3) {
            cnt++;
        }
    }
    
    console.log(cnt);
}
main(require('fs').readFileSync('/dev/stdin', 'utf8'));

提出情報

提出日時
問題 D - Lucky PIN
ユーザ oimo23
言語 JavaScript (node.js v5.12)
得点 400
コード長 1708 Byte
結果 AC
実行時間 413 ms
メモリ 20296 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 3
AC × 33
セット名 テストケース
Sample 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt
All 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-corner-01.txt, 01-corner-02.txt, 01-corner-03.txt, 01-corner-04.txt, 02-random-01.txt, 02-random-02.txt, 02-random-03.txt, 02-random-04.txt, 02-random-05.txt, 02-random-06.txt, 02-random-07.txt, 03-random-x-01.txt, 03-random-x-02.txt, 03-random-x-03.txt, 04-expand-01.txt, 04-expand-02.txt, 04-expand-03.txt, 04-expand-04.txt, 04-expand-05.txt, 04-expand-06.txt, 04-expand-07.txt, 04-expand-08.txt, 05-limiting-01.txt, 05-limiting-02.txt, 05-limiting-03.txt, 05-limiting-04.txt, 05-limiting-05.txt, 05-limiting-06.txt, 05-limiting-07.txt, 05-limiting-08.txt
ケース名 結果 実行時間 メモリ
00-sample-01.txt AC 233 ms 20296 KiB
00-sample-02.txt AC 58 ms 7500 KiB
00-sample-03.txt AC 64 ms 7628 KiB
01-corner-01.txt AC 57 ms 7500 KiB
01-corner-02.txt AC 57 ms 7500 KiB
01-corner-03.txt AC 56 ms 7500 KiB
01-corner-04.txt AC 56 ms 7500 KiB
02-random-01.txt AC 56 ms 7500 KiB
02-random-02.txt AC 58 ms 7500 KiB
02-random-03.txt AC 65 ms 7628 KiB
02-random-04.txt AC 66 ms 7628 KiB
02-random-05.txt AC 66 ms 7628 KiB
02-random-06.txt AC 67 ms 7628 KiB
02-random-07.txt AC 413 ms 7956 KiB
03-random-x-01.txt AC 158 ms 7712 KiB
03-random-x-02.txt AC 298 ms 7812 KiB
03-random-x-03.txt AC 413 ms 7940 KiB
04-expand-01.txt AC 329 ms 7940 KiB
04-expand-02.txt AC 331 ms 7940 KiB
04-expand-03.txt AC 334 ms 7956 KiB
04-expand-04.txt AC 335 ms 7940 KiB
04-expand-05.txt AC 337 ms 9860 KiB
04-expand-06.txt AC 337 ms 7940 KiB
04-expand-07.txt AC 334 ms 7940 KiB
04-expand-08.txt AC 332 ms 7956 KiB
05-limiting-01.txt AC 339 ms 7940 KiB
05-limiting-02.txt AC 401 ms 7940 KiB
05-limiting-03.txt AC 398 ms 7956 KiB
05-limiting-04.txt AC 408 ms 7940 KiB
05-limiting-05.txt AC 394 ms 7940 KiB
05-limiting-06.txt AC 405 ms 7940 KiB
05-limiting-07.txt AC 403 ms 7940 KiB
05-limiting-08.txt AC 402 ms 7940 KiB