Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

Dễ

Đếm chuỗi

100 điểm 0% AC 0 đã giải

root

Cho chuỗi \(T\) độ dài \(n\) được nén theo kỹ thuật RLE (Run Length Encoding). Chuỗi nén này gồm các cặp ký tự và số nguyên dương, biểu diễn số lần lặp liên tiếp của ký tự đó.

Ví dụ: chuỗi nén \(\texttt{a3b2c1}\) tương ứng với chuỗi gốc \(T = \texttt{aaabbc}\).

Bạn được cho một chuỗi con \(P\), và một dãy \(a_1, a_2, \ldots, a_m\) gồm \(m\) vị trí tăng dần (đánh số từ \(1\)), sao cho nếu ta lấy ký tự thứ \(a_i\) trong chuỗi \(T\) và ghép lại theo thứ tự, ta được chuỗi \(P\).

Gọi \(R\) là số lượng dãy \((a_1, a_2, \ldots, a_m)\) khác nhau thỏa mãn điều kiện trên. Hãy in ra \(R \; mod \; 10^9+7\).

Input

  • Dòng đầu chứa hai số nguyên dương \(n, m\) (độ dài của xâu \(T\) trước khi nén và độ dài của một dãy cần tìm);
  • Dòng thứ hai chứa một xâu là mã hóa của xâu \(T\); (mỗi kí tự được lặp liên tiếp không quá \(10^9\) lần).
  • Dòng thứ ba chứa một xâu là xâu \(P\).

Output

  • Ghi ra một số nguyên duy nhất là số \(R\) chia dư cho \(10^9 + 7\).

Example

Test 1

Input
9 5
m1i1s2y1o1u3
isyou
Output
6

Test 2

Input
11 3
m1i1s2i1s2i1p2i1
isi
Output
14

Scoring

  • Subtask 1 (20% số điểm): \(n \leq 20\), \(m = 1\);
  • Subtask 2 (20% số điểm): \(n \leq 20\), \(m < n\);
  • Subtask 3 (20% số điểm): \(n \leq 10^5\), \(m = 3\);
  • Subtask 4 (20% số điểm): \(n \leq 10^5\), \(m \leq 30\);
  • Subtask 5 (20% số điểm): \(n \leq 10^9\), \(m \leq 30\) và xâu mã hóa của xâu \(T\) có độ dài không vượt quá \(10^5\).
Dễ

Qua sông

100 điểm 0% AC 0 đã giải

root

\begincenter

\endcenter

Dễ

Kiểm định mã

100 điểm 0% AC 0 đã giải

root

Cho \(S\) là một tập các từ (word). Từ tập \(S\), ta có thể tạo ra các chuỗi (string) bằng cách viết liền các từ của \(S\) (mỗi từ có thể sử dụng nhiều lần). Giả sử \(A\) là một chuỗi tạo ra bằng cách trên:

\(A = x_{1} x_{2} \ldots x_{k}\) với \(x_{i} \in S, \forall i \in \{1, 2, \ldots, k\}\)

Khi đó \(X = x_{1}, x_{2}, \ldots, x_{k}\) được gọi là một dẫn xuất của chuỗi \(A\). Rõ ràng là một chuỗi có thể có nhiều dẫn xuất, ví dụ:

\(S = \{ab, ba, a\}, A = aba = ab + a = a + ba\)

Tập \(S\) được gọi là một bộ mã nếu không tồn tại chuỗi nào có nhiều hơn một dẫn xuất. Khi đó, mọi dãy các số tự nhiên nhỏ hơn |S| đều có thể mã hóa thành một chuỗi mà chỉ có một cách giải mã. Bài toán kiểm định mã là kiểm tra xem \(S\) có phải là một bộ mã hay không.

Yêu cầu: Kiểm tra xem \(S\) có phải là một bộ mã hay không. Trong trường hợp \(S\) không phải
là một bộ mã, hãy tìm chuỗi ngắn nhất có nhiều hơn một dẫn xuất.

Input

  • Dòng đầu tiên chứa \(n\) là lực lượng tập \(S\).

  • \(n\) dòng tiếp theo, mỗi dòng chứa một từ của \(S\). Các từ chỉ chứa các chữ cái latin thường. Tổng độ dài các từ không quá \(2000\) và không có hai từ nào giống nhau.

Output

  • Nếu \(S\) là một bộ mã, in ra \(-1\).

  • Ngược lại, in ra chuỗi ngắn nhất có nhiều hơn một dẫn xuất. Trong trường hợp có nhiều chuỗi ngắn nhất, in ra chuỗi có thứ tự từ điển nhỏ nhất.

Example

Test 1

Input
3
ab
ba
a
Output
aba

Test 2

Input
2
a
b
Output
-1

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): Các từ chỉ gồm các ký tự a, b, c và có không quá \(10\) từ trong tập \(S\); kết quả hoặc là \(−1\) hoặc là một chuỗi có độ dài không quá \(10\).

  • Subtask \(2\) (\(30\%\) số điểm): tổng độ dài các từ không quá \(500\); kết quả hoặc là \(−1\) hoặc là một chuỗi có độ dài không quá \(500\).

  • Subtask \(3\) (\(40\%\) số điểm): không có ràng buộc gì thêm.

Dễ

Tính tổng đường chéo

100 điểm 67% AC 10 đã giải

root

Cho một bảng hình vuông gồm \(n\) dòng và \(n\) cột. Hãy tính tổng các phần tử nằm trên hai đường chéo của hình vuông.

Input

  • Dòng đầu tiên ghi 1 số. \((1 \leq n \leq 25)\)

  • \(n\) dòng tiếp theo, mỗi dòng gồm \(n\) số nguyên cách nhau bởi dấu cách. \((|a[i,j]| \leq 5)\)

Output

  • Đưa ra kết quả mà đề bài yêu cầu

Example

Test 1

Input
3
1 -2 3
-1 0 5
1 4 -3
Output
2
Xem thêm