結果
| 問題 |
No.2016 Countdown Divisors
|
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 2025-05-15 02:34:19 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 1,287 ms / 2,000 ms |
| コード長 | 916 bytes |
| コンパイル時間 | 14,340 ms |
| コンパイル使用メモリ | 261,552 KB |
| 実行使用メモリ | 7,968 KB |
| 最終ジャッジ日時 | 2025-05-15 02:34:51 |
| 合計ジャッジ時間 | 29,586 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 19 |
ソースコード
package main
import . "fmt"
func main() {
var t int
Scan(&t)
for ; t > 0; t-- {
var n int
Scan(&n)
switch n {
case 1,3,4,5,7,8:
Println(1)
default:
Println(2)
}
}
}
func init() {
// check()
}
func check() {
x := make([]int, 1e5+1)
for i := 1; i <= 1e5; i++ {
for j := i; j < len(x); j += i {
x[j]++
}
}
y := make([]int, 1e5+1)
for i := int(1e5); i > 0; i-- {
if y[i] != 0 {
continue
}
tmp := []int{}
for j := i; j > 0; {
tmp = append(tmp, j)
j = j - x[j]
if y[j] != 0 {
tmp = append(tmp, y[j])
break
}
}
r := tmp[len(tmp)-1]
for _, j := range tmp {
y[j] = r
}
}
for i := 1; i <= 100; i++ {
Println(i, x[i], y[i])
}
for i := 1; i <= 100; i++ {
Println(i+1e3, x[i+1e3], y[i+1e3])
}
for i := 1; i <= 100; i++ {
Println(i+1e4, x[i+1e4], y[i+1e4])
}
for i := 1; i <= 100; i++ {
Println(i+7287, x[i+7287], y[i+7287])
}
}
ID 21712