Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
P175PROI - ROUND 5I - Xâu nhị phân |
Tèo đang làm quen với việc chuyển đổi các số nguyên thành các xâu nhị phân. Cậu phần nào đã hiểu rõ về việc đổi hệ cơ số này và cậu bắt đầu tìm tòi các trò chơi liên quan đến xâu nhị phân,
Ban đầu cậu có 1 số nguyên n = 0, 1 xâu nhị phân S cho trước và một xâu nhị phân P ban đầu là rỗng . Tại mỗi bước cậu được lựa chọn 1 trong 2 cách biến đổi sau để thưc hiện sinh xâu nhị phân P:
1 - Đổi số nguyên n hiện tại sang cơ số 2 và sau đó nối tiếp vào xâu nhị phân P.
2 – Tăng giá trị của n lên 1.
Giờ cậu được cho 1 xâu nhị phân S xác định, Tèo sẽ phải đi tìm số cách biến đổi khác nhau và cách biến đổi thực hiện ít bước nhất để sinh được xâu nhị phân S.
Input
Xâu nhị phân S (1 <= |S| <= 5000)
Output
Dòng đầu chứa số lượng cách biến đổi khác nhau để sinh được xâu nhị phân S (lấy module 10^9+7).
Dòng thứ hai chưa số bước biến đổi ít nhất để sinh được xâu nhị phân S (lấy module 10^9+7).
Example
Input:
11010
Output:
3
5
Giải thích:
Có các cách biển đổi sau:
+ 2-1-2-1-1
+ 2-1-2-2-2-2-2-2-2-2-2-1
+ 2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-1
Được gửi lên bởi: | adm |
Ngày: | 2017-03-17 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |