結果
問題 | No.2929 Miracle Branch |
ユーザー |
![]() |
提出日時 | 2024-10-14 20:02:29 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,528 bytes |
コンパイル時間 | 666 ms |
コンパイル使用メモリ | 81,980 KB |
実行使用メモリ | 105,572 KB |
最終ジャッジ日時 | 2024-10-14 20:02:42 |
合計ジャッジ時間 | 10,916 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 35 WA * 8 |
ソースコード
def prime_numbers(m):primes = set()n = 2while n<=m:if all(n % i != 0 for i in primes):primes.add(n)n += 1return primesX = int(input())tmp_prime = list()if X!=1:primes = prime_numbers(10000)while True:ok = Falsefor i in primes:if X%i==0:ok = TrueX //= itmp_prime.append(i)breakif not ok:break#print(tmp_prime)#print("#", len(tmp_prime), sum(tmp_prime))prime = list()cnt_2 = 0for i in tmp_prime:if i==2:if cnt_2==1:prime.append(4)cnt_2 = 0else:cnt_2 += 1else:if cnt_2==1:prime.append(2)cnt_2 = 0prime.append(i)if cnt_2==1:prime.append(2)if X!=1:prime.append(X)#print(prime)#print("#", len(prime), sum(prime))else:prime = [1]if X>2*10**5 or len(prime)+sum(prime)>2*10**5:print(-1)exit()N = len(prime)+sum(prime)G = [ [] for _ in range(N+1)]idx = len(prime)for i in range(1, len(prime)+1):for j in range(prime[i-1]):idx += 1G[i].append(idx)print(N)for i in range(1, len(prime)):G[i].append(i+1)for i in range(1, N+1):for j in G[i]:print(i,j)col = list()for i in range(len(prime)):col.append("b")for i in range(sum(prime)):col.append("g")print(*col)