結果
問題 | No.40 多項式の割り算 |
ユーザー |
![]() |
提出日時 | 2019-03-28 09:51:31 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 813 bytes |
コンパイル時間 | 14,026 ms |
コンパイル使用メモリ | 224,408 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-12 12:16:44 |
合計ジャッジ時間 | 12,716 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
package main import ( "bufio" "fmt" "os" "strconv" ) func main() { sc := bufio.NewScanner(os.Stdin) sc.Split(bufio.ScanWords) mod := []int{1, 0, -1, 0} sc.Scan() d, _ := strconv.Atoi(sc.Text()) nums := make([]int, d+1) for i := d; i >= 0; i-- { sc.Scan() a, _ := strconv.Atoi(sc.Text()) nums[i] = a } // fmt.Println(nums) // fmt.Println(mod) for i := 0; i <= len(nums)-len(mod); i++ { b := nums[i] nums[i], nums[i+1], nums[i+2], nums[i+3] = nums[i]-mod[0]*b, nums[i+1]-mod[1]*b, nums[i+2]-mod[2]*b, nums[i+3]-mod[3]*b // fmt.Println(b, nums) } // fmt.Println(nums) e := 0 for i, n := range nums { if n != 0 { e = d - i break } } s := strconv.Itoa(nums[d]) for i := d - 1; i >= d-e; i-- { s += " " + strconv.Itoa(nums[i]) } fmt.Println(e) fmt.Println(s) }