結果
問題 |
No.3037 トグルトグルトグル!
|
ユーザー |
![]() |
提出日時 | 2025-02-28 23:08:55 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 42 ms / 2,000 ms |
コード長 | 1,656 bytes |
コンパイル時間 | 343 ms |
コンパイル使用メモリ | 81,952 KB |
実行使用メモリ | 53,912 KB |
最終ジャッジ日時 | 2025-03-07 08:48:15 |
合計ジャッジ時間 | 1,442 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 |
ソースコード
# トグルとはなんなのか... # 我々はその正体を追い求めるべく、 # さらに密林の奥へ探索するのだった... # 全ての人が立つ # |はい!|はい!|はい!|はい!| # | 1 | 1 | 1 | 1 | # 次! 2ばんの人から1人おきにトグれ! # | 1 | 0(シッダウン) | 1 | 0(シッダウン)| # 実験 # 123456789 # 111111111 # -t-t-t-t- # --t--t--t # ---t---t- # ----t---- # -----t--- # ------t-- # -------t- # --------t # シミュレーションすると宇宙大爆発 # トグル回数の偶奇を見ればいい # n番目(1-indexed)について # nがトグル回数は、 # n = 10: 10 = 2*5 -> 1,2,5,10: 3こ = 約数の個数 # n = 12: 12 = 2^2*3 -> 1,2,3,4,6,12: = 約数の個数 # 1は初回でトグルから、(トグル回数) = (約数の個数) N = int(input()) # 約数の個数の偶奇を求めたい # もし奇数なら立っている # もし偶数なら座っている # 約数の個数が奇数のものは? # 約数の個数が奇数のものは平方数 # 平方数の個数 i = N from math import sqrt,ceil ans = ceil(sqrt(N)) # print(ans) while ans*ans > N: ans -= 1 print(ans) # 約数列挙が間に合わない # 辞書 # from collections import defaultdict # yakusuu_cnt = defaultdict(int) # yakusuu_cnt[1] = 1 # n = 2 # while n*n <= N: # p = 1 # while p*p <= n: # if n%p == 0: # yakusuu_cnt[n] += 1 # if n//p != p: # yakusuu_cnt[n] += 1 # p += 1 # # debug-print # # print(yakusuu_cnt) # ans = 0 # for i in range(1,N+1): # if yakusuu_cnt[i]%2: ans += 1 # print(ans)