結果
問題 | No.2929 Miracle Branch |
ユーザー |
![]() |
提出日時 | 2024-10-12 16:35:10 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 39 ms / 2,000 ms |
コード長 | 753 bytes |
コンパイル時間 | 144 ms |
コンパイル使用メモリ | 30,336 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-12 16:35:18 |
合計ジャッジ時間 | 6,731 ms |
ジャッジサーバーID (参考情報) |
judge / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 43 |
ソースコード
#include<stdio.h> long long int cnt[200005], cc; int main() { long long int x; scanf("%lld", &x); long long int i, cc = 0, j, k; for (i = 3; i < 200005; i++) { while (x % i == 0) { x /= i; cnt[cc] = i; cc++; } } if (x > 1) { cnt[cc] = x; cc++; } if (cc == 0) { cnt[cc] = 1; cc++; } long long int n = 0; for (i = 0; i < cc; i++) n += cnt[i] + 1; if (n > 200000) { printf("-1\n"); return 0; } printf("%lld\n", n); j = cc + 1; for (i = 0; i < cc; i++) { for (k = 0; k < cnt[i]; k++, j++) printf("%d %d\n", i + 1, j); } for (i = 0; i < cc - 1; i++) printf("%d %d\n", i + 1, i + 2); for (i = 0; i < cc; i++) printf("b "); for (i = cc; i < n - 1; i++) printf("g "); printf("g\n"); return 0; }