提出 #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 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |