結果
問題 |
No.3 ビットすごろく
|
ユーザー |
![]() |
提出日時 | 2018-06-24 19:59:50 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 656 bytes |
コンパイル時間 | 113 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 17,696 KB |
最終ジャッジ日時 | 2024-06-30 22:34:18 |
合計ジャッジ時間 | 6,688 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 3 TLE * 1 -- * 29 |
ソースコード
# coding: utf-8 # Your code here! n=int(input()) lst = [0]*(n+1) def f(num,cnt): if num==n: print(cnt) return True if num<1 or num > n: return False step = str(bin(num))[2:].count("1") fowd_n = num+step back_n = num-step if fowd_n<=n and lst[fowd_n]==0: lst[fowd_n]=1 if f(fowd_n,cnt+1): return True else: lst[fowd_n]=0 if back_n<=n and lst[back_n]==0: lst[back_n]=1 if f(back_n,cnt+1): return True else: lst[back_n]=0 return False lst[1]=1 if f(1,1)==False: print(-1)