Đ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ễ

Lũy thừa

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

staffagent

Cho hai số nguyên \(a, n\) \((1 \leq a \leq 20, \; 0 \leq n \leq 14)\).

Hãy tính giá trị \(a^n\) bằng cách viết một hàm đệ quy.

Input

  • Một dòng gồm hai số nguyên \(a, n\).

Output

  • In ra một số là kết quả của bài toán.

Sample Input 1

2 3

Sample Output 1

8

Sample Input 2

3 2

Sample Output 2

9
Dễ

Nén ảnh

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

staffagent

Cho một ảnh đen trắng hình vuông kích thước \(2^n \times 2^n\).
Mỗi điểm ảnh có giá trị \(0\) (trắng) hoặc \(1\) (đen).

Thuật toán nén ảnh được định nghĩa đệ quy như sau:

  • Nếu toàn bộ ảnh chỉ gồm các điểm ảnh đen, ảnh được nén thành xâu \(S = **01**\).
  • Nếu toàn bộ ảnh chỉ gồm các điểm ảnh trắng, ảnh được nén thành xâu \(S = **00**\).
  • Nếu ảnh có cả điểm đen và trắng, chia ảnh thành \(4\) phần bằng nhau \(A, B, C, D\) (theo thứ tự: trên-trái, trên-phải, dưới-trái, dưới-phải), mỗi phần có kích thước \(2^{n-1}\times 2^{n-1}\). Khi đó xâu nén có dạng: $ S = 1S_A S_B S_C S_D, $ trong đó \(S_A, S_B, S_C, S_D\) lần lượt là xâu nén của các phần \(A,B,C,D\) theo cùng quy tắc.

Độ dài của xâu nén được gọi là độ dài ảnh nén.

Yêu cầu. Với ảnh kích thước \(2^n \times 2^n\) cho trước, hãy tính độ dài ảnh nén.

Input

  • Dòng đầu chứa số nguyên dương \(n\) \((1 \le n \le 10)\).
  • \(2^n\) dòng tiếp theo, mỗi dòng gồm \(2^n\) ký tự 0 hoặc 1 mô tả ảnh (không có khoảng trắng).

Output

  • In ra một số nguyên là độ dài ảnh nén.

Scoring

  • Có \(50\%\) số điểm ứng với \(n \le 4\).

Input

%
2
1111
1101
0100
0011

Output

%
30

Ví dụ sau minh họa quá trình nén cho ảnh kích thước \(2^2 \times 2^2\):
$
\begin{pmatrix}
0&0&1&1\
0&0&1&1\
1&1&1&1\
1&1&1&1
\end{pmatrix}
\Rightarrow
S=1\,(00)\,(01)\,(01)\,(01)
\Rightarrow S = 100010101.
$

Dễ

Dãy số xen kẽ dấu

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

staffagent

Cho dãy số nguyên \(a_1, a_2, \dots, a_N\) (không có phần tử nào bằng \(0\)). Một đoạn liên tiếp \(a[i..j]\) được gọi là xen kẽ dấu nếu hai phần tử kề nhau bất kỳ trong đoạn luôn trái dấu (một âm, một dương). Đoạn chỉ có một phần tử luôn được coi là xen kẽ dấu.

Với mỗi vị trí \(i\) từ \(1\) đến \(N\), hãy tìm độ dài lớn nhất của một đoạn xen kẽ dấu bắt đầu tại vị trí \(i\).

Input

  • Dòng đầu tiên chứa số bộ test \(T\).
  • Với mỗi bộ test gồm hai dòng: dòng thứ nhất chứa \(N\), dòng thứ hai chứa \(N\) số nguyên \(a_1, \dots, a_N\).

Output

Với mỗi bộ test in ra một dòng gồm \(N\) số nguyên, số thứ \(i\) là độ dài đoạn xen kẽ dấu dài nhất bắt đầu tại vị trí \(i\).

Constraints

  • \(1 \le T \le 20\)
  • \(1 \le N \le 10^5\) trong mỗi bộ test
  • \(1 \le |a_i| \le 10^9\)

Sample Input

1
6
3 -2 -4 5 6 -1

Sample Output

2 1 2 1 2 1

Explanation

Từ vị trí 1: \(3, -2\) (tiếp theo \(-4\) cùng dấu với \(-2\)) nên độ dài \(2\). Từ vị trí 3: \(-4, 5\) rồi gặp \(6\) cùng dấu nên độ dài \(2\). Từ vị trí 5: \(6, -1\) nên độ dài \(2\); các vị trí 2, 4, 6 chỉ có độ dài \(1\).

Dễ

Chèn ký tự tăng LCS

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

staffagent

Cho hai xâu \(A\) và \(B\) gồm các chữ cái thường. Gọi \(L\) là độ dài xâu con chung dài nhất của \(A\) và \(B\).

Ta muốn chèn đúng một chữ cái thường vào một vị trí nào đó của \(A\) (đầu xâu, cuối xâu hoặc giữa hai ký tự liên tiếp; xâu \(A\) có \(|A| + 1\) vị trí chèn) sao cho độ dài xâu con chung dài nhất của xâu mới và \(B\) trở thành \(L + 1\).

Hãy đếm số cặp (vị trí chèn, chữ cái được chèn) thoả mãn. Hai cặp có vị trí khác nhau luôn được tính là hai cách khác nhau, kể cả khi xâu thu được giống nhau.

Input

  • Dòng thứ nhất chứa xâu \(A\).
  • Dòng thứ hai chứa xâu \(B\).

Output

In ra một số nguyên là số cách chèn thoả mãn.

Constraints

  • \(1 \le |A|, |B| \le 1010\)
  • Hai xâu chỉ gồm chữ cái tiếng Anh viết thường.

Sample Input

abc
cbad

Sample Output

9

Explanation

Xâu con chung dài nhất của abc và cbad có độ dài \(1\). Có \(9\) cách chèn để độ dài này tăng lên \(2\), chẳng hạn chèn d vào cuối abc được abcd (có xâu con chung ad), hoặc chèn b vào đầu abc được babc (có xâu con chung ba).

Xem thêm