trang chủ / bài tập / frogjump

Ếch Nhảy

Đề bài

Mô tả

Một con ếch ban đầu đứng ở vị trí 0 trên trục số. Con ếch có hai số nguyên dương ab. Từ vị trí k, nó có thể nhảy tới vị trí k+a hoặc tới vị trí kb.

Với một số nguyên x, gọi f(x) là số vị trí nguyên phân biệt mà con ếch có thể tới được nếu nó không bao giờ nhảy ra ngoài đoạn [0,x] (mọi vị trí nó dừng chân đều phải nằm trong [0,x]). Con ếch không cần đi qua tất cả các vị trí này trong cùng một hành trình: một vị trí được tính nếu con ếch có thể tới được nó bằng cách nào đó khi xuất phát từ 0.

Cho số nguyên m, hãy tính i=0mf(i), tức tổng của tất cả f(i) với i chạy từ 0 đến m.

Dữ liệu vào

Một dòng duy nhất chứa ba số nguyên m, a, b.

Dữ liệu ra

In ra một số nguyên duy nhất là tổng cần tìm.

Ràng buộc

  • 1m109
  • 1a,b105

Ví dụ

Input Output Giải thích
7 5 3 19 f(0)==f(4)=1, f(5)=3, f(6)=3, f(7)=8. Với x=5, con ếch tới được các vị trí {0,5,2} (nhảy 052), nên f(5)=3. Tổng bằng 19.
1000000000 1 2019 500000001500000001 Ở đây f(i)=i+1, nên tổng bằng i=0109(i+1).
100 100000 1 101 Con ếch không thể thực hiện bất kỳ cú nhảy nào (mọi cú nhảy đều ra ngoài đoạn), nên f(i)=1 với mọi i.
6 4 5 10 Với x<4 chỉ có {0}, nên f=1. Với x[4,6], con ếch nhảy 04 (cú nhảy 5 vẫn ra ngoài), tới được {0,4} nên f=2. Tổng bằng 1·4+2·3=10.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0