結果
問題 | No.657 テトラナッチ数列 Easy |
ユーザー |
![]() |
提出日時 | 2018-03-02 22:32:48 |
言語 | Go (1.23.4) |
結果 |
RE
|
実行時間 | - |
コード長 | 3,647 bytes |
コンパイル時間 | 11,059 ms |
コンパイル使用メモリ | 239,648 KB |
実行使用メモリ | 9,856 KB |
最終ジャッジ日時 | 2024-06-13 03:50:40 |
合計ジャッジ時間 | 12,330 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 RE * 3 |
ソースコード
package mainimport ("bufio""fmt""log""os""strconv")// const abcd = "abcdefghijklmnopqrstuvwxyz"// const ABCD = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"// var dx = [...]int{0, 1, 0, -1, 1, -1, -1, 1}// var dy = [...]int{1, 0, -1, 0, 1, 1, -1, -1}// var inf int = 1e13// var mod = 1000000007var next = newScanner()// ---------------------------------------------------------func main() {log.SetFlags(log.Lshortfile)Q := next.Int()n := next.Ints(Q)maxn := max(n...)t := make([]int, maxn*2)t[4] = 1for i := 5; i <= maxn; i++ {for j := i - 1; j >= i-4; j-- {t[i] += t[j] % 17}}for i := 0; i < Q; i++ {fmt.Println(t[n[i]] % 17)}}// ---------------------------------------------------------// Pair is...type Pair struct {a, b int}// Pairs is sorted by []Pair structtype Pairs []Pairfunc (p Pairs) Len() int {return len(p)}func (p Pairs) Swap(i, j int) {p[i], p[j] = p[j], p[i]}func (p Pairs) Less(i, j int) bool {return p[i].b < p[i].b}// func (p Pairs) Less(i, j int) bool {// if p[i].a < p[j].a {// return true// } else if p[i].a == p[j].a {// return p[i].b < p[j].b// }// return false// }// ------int method-------------------------func in(c, a, z int) bool {return c >= a && c < z}func out(c, a, z int) bool {return !in(c, a, z)}func btoi(b bool) int {if b {return 1}return 0}func itob(a int) bool {if a == 0 {return false}return true}func max(a ...int) int {r := a[0]for i := 0; i < len(a); i++ {if r < a[i] {r = a[i]}}return r}func min(a ...int) int {r := a[0]for i := 0; i < len(a); i++ {if r > a[i] {r = a[i]}}return r}func sum(a []int) int {r := 0for i := 0; i < len(a); i++ {r += a[i]}return r}func pro(a []int) int {r := 1for i := 0; i < len(a); i++ {r *= a[i]}return r}func fill(a []int, n int) []int {for i := 0; i < len(a); i++ {a[i] = n}return a}func minmax(a, b int) (int, int) {if a > b {return b, a}return a, b}func abs(a int) int {if a < 0 {return -a}return a}func ceil(a, b int) int {if a%b != 0 {return 1}return 0}// ---------- buffered scanner -----------------------------------------type scanner struct {r *bufio.Readerbuf []bytep int}func newScanner() *scanner {rdr := bufio.NewReaderSize(os.Stdin, 10000)return &scanner{r: rdr}}func (s *scanner) next() string {s.pre()start := s.pfor ; s.p < len(s.buf); s.p++ {if s.buf[s.p] == ' ' {break}}result := string(s.buf[start:s.p])s.p++return result}func (s *scanner) Line() string {s.pre()start := s.ps.p = len(s.buf)return string(s.buf[start:])}func (s *scanner) String() string {return s.next()}func (s *scanner) Int() int {v, err := strconv.Atoi(s.next())if err != nil {log.Fatal(err)}return v}func (s *scanner) Ints(n int) []int {r := make([]int, n)for i := 0; i < n; i++ {r[i] = s.Int()}return r}func (s *scanner) Int64() int64 {v, err := strconv.ParseInt(s.next(), 10, 64)if err != nil {log.Fatal(err)}return v}func (s *scanner) Uint64() uint64 {v, err := strconv.ParseUint(s.next(), 10, 64)if err != nil {log.Fatal(err)}return v}func (s *scanner) Float64() float64 {v, err := strconv.ParseFloat(s.next(), 64)if err != nil {log.Fatal(err)}return v}func (s *scanner) pre() {if s.p >= len(s.buf) {s.readLine()s.p = 0}}func (s *scanner) readLine() {s.buf = make([]byte, 0)for {l, p, err := s.r.ReadLine()if err != nil {log.Fatal(err)}s.buf = append(s.buf, l...)if !p {break}}}