結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 2020-08-31 07:01:33 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 453 bytes |
コンパイル時間 | 830 ms |
コンパイル使用メモリ | 78,636 KB |
最終ジャッジ日時 | 2025-01-14 02:16:47 |
ジャッジサーバーID (参考情報) |
judge3 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 WA * 23 |
ソースコード
#include <iostream> #include <vector> #include <queue> using namespace std; vector<int> d = {-1, 1}; int main(){ int N; cin >> N; vector<int> d(N + 1, -1); d[1] = 0; queue<int> Q; Q.push(1); while (!Q.empty()){ int v = Q.front(); Q.pop(); for (int i = 0; i < 2; i++){ int w = v + __builtin_popcount(v) * d[i]; if (1 <= w && w <= N){ if (d[w] == -1){ d[w] = d[v] + 1; Q.push(w); } } } } cout << d[N] << endl; }