Những chiếc nhẫn

Đề bài

Mô tả

Cho một xâu nhị phân s gồm n ký tự. Với một xâu nhị phân bất kỳ, ký hiệu f(x) là giá trị của x khi coi nó là một số viết trong hệ nhị phân (các số 0 ở đầu được bỏ qua). Ví dụ f(001010)=10, f(111)=7, f(11011101)=221.

Hãy tìm hai cặp số nguyên (l1,r1)(l2,r2) thỏa mãn đồng thời:

  • 1l1r1nr1l1+1n/2;
  • 1l2r2nr2l2+1n/2;
  • Hai cặp phải khác nhau, tức là l1l2 hoặc r1r2;
  • Đặt t=s[l1..r1]w=s[l2..r2]. Khi đó tồn tại số nguyên không âm k sao cho f(t)=f(w)·k.

Ở đây s[l..r] là xâu con slsl+1sr, còn x là phép làm tròn xuống.

Dữ liệu đảm bảo luôn tồn tại ít nhất một đáp án.

Dữ liệu vào

  • Dòng đầu chứa số nguyên T: số lượng bộ dữ liệu.
  • Với mỗi bộ dữ liệu:
    • Dòng đầu chứa số nguyên n: độ dài xâu.
    • Dòng thứ hai chứa xâu nhị phân s gồm n ký tự.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra trên một dòng bốn số nguyên l1, r1, l2, r2. Nếu có nhiều đáp án, in ra đáp án bất kỳ.

Ràng buộc

  • 1T103
  • 2n2·104
  • Tổng n trên tất cả các bộ dữ liệu không vượt quá 105.

Ví dụ

Input Output Giải thích
3
6
101111
5
11011
3
101
2 6 3 6
3 5 4 5
2 3 3 3
Bộ 1: t=01111, w=1111, f(t)=f(w)=15 nên k=1. Bộ 2: t=011, w=11, cùng bằng 3. Bộ 3: t=01, w=1, cùng bằng 1. Trong cả ba trường hợp, việc bỏ đi ký tự 0 ở đầu không làm thay đổi giá trị.
2
4
1110
5
11111
1 4 1 3
1 4 2 5
Bộ 1: t=1110=14, w=111=7, nên k=2; thêm một ký tự 0 vào cuối tương ứng với nhân đôi giá trị. Bộ 2: xâu không có ký tự 0 nào, hai xâu con s[1..4]s[2..5] đều bằng 1111=15 nên k=1.

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