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

Trộn chữ số (bản dễ)

Đề bài

Mô tả

Cho hàm f(x,y) trộn xen kẽ các chữ số của hai số nguyên dương xy (viết trong hệ thập phân, không có chữ số 0 ở đầu) theo cách sau: ta ghép các chữ số từ phải sang trái (từ hàng đơn vị lên), bắt đầu bằng chữ số thấp nhất của y, rồi chữ số thấp nhất của x, rồi chữ số tiếp theo của y, rồi chữ số tiếp theo của x, và cứ thế tiếp tục. Nếu một trong hai số đã hết chữ số thì các chữ số còn lại của số kia được ghi tiếp lên đầu kết quả.

Ví dụ:

  • f(1111,2222)=12121212
  • f(7777,888)=7787878
  • f(33,44444)=4443434
  • f(555,6)=5556
  • f(111,2222)=2121212

Cho mảng gồm n số nguyên dương a1,a2,,an, trong đó mọi số đều có cùng số chữ số trong biểu diễn thập phân. Hãy tính

i=1nj=1nf(ai,aj)(mod998244353).

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số phần tử của mảng.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an cách nhau bởi dấu cách. Tất cả các số ai có cùng số chữ số.

Dữ liệu ra

In ra một số nguyên duy nhất là kết quả của tổng nói trên modulo 998244353.

Ràng buộc

  • 1n100,000
  • 1ai109
  • Tất cả ai có cùng số chữ số trong biểu diễn thập phân.

Ví dụ

Input Output Giải thích
3
12 33 45
26730 Mảng có 3 số 2 chữ số. Tổng f trên 9 cặp (i,j) cho ra 26730. Chẳng hạn f(12,33)=3132, f(33,12)=1323.
2
123 456
1115598 Có 4 cặp; ví dụ f(123,456)=415263, f(456,123)=142536.
1
1
11 Chỉ một cặp (1,1), và f(1,1)=11.
5
1000000000 1000000000 1000000000 1000000000 1000000000
265359409 25 cặp giống hệt nhau, kết quả lấy modulo 998244353.

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