結果
問題 | No.1644 Eight Digits |
ユーザー |
👑 |
提出日時 | 2021-08-01 11:24:13 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 1,000 ms |
コード長 | 630 bytes |
コンパイル時間 | 471 ms |
コンパイル使用メモリ | 30,464 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-03 16:08:31 |
合計ジャッジ時間 | 1,570 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 25 |
ソースコード
#include <stdio.h> int next_permutation(int N, int p[]) { static int i, j, q[10] = {}; for (i = N; i > 1; i--) { q[p[i]] = 1; if (p[i] > p[i-1]) break; } if (i == 1) return 0; q[p[i-1]] = 1; for (j = p[i-1] + 1; q[j] == 0; j++); p[i-1] = j; q[j] = 0; for (j = 1; i <= N; i++) { for (; q[j] == 0; j++); p[i] = j; q[j++] = 0; } return 1; } int main() { int i, k, K, p[10], ans = 0; scanf("%d", &K); for (i = 1; i <= 8; i++) p[i] = i; do { for (i = 1, k = 0; i <= 8; i++) k = k * 10 + p[i]; if (k % K == 0) ans++; } while (next_permutation(8, p)); printf("%d\n", ans); fflush(stdout); return 0; }