TLEoj Contest #01 - Ma trận đối xứng

Sunlight

Một ma trận m \times n, gồm m hàng đánh số từ 1 đến m và n cột đánh số từ 1 đến n, với phần tử ở hàng i cột j là a[i][j] có thể có một số tính chất sau (có thể không có, có một hoặc có nhiều tính chất cùng một lúc):

  • Tính chất đối xứng qua trục dọc: a[i][j] = a[i][n + 1 - j] với mọi cặp số nguyên (i, j).
  • Tính chất đối xứng qua trục ngang: a[i][j] = a[m + 1 - i][j] với mọi cặp số nguyên (i, j).
  • Tính chất đối xứng qua tâm: a[i][j] = a[m + 1 - i][n + 1 - j] với mọi cặp số nguyên (i, j).

Ví dụ:

  • Ma trận dưới đây là ma trận đối xứng qua trục dọc:
    1221
    3443
    5445
    
  • Ma trận dưới đây là ma trận đối xứng qua trục ngang:
    1234
    5678
    1234
    
  • Ma trận dưới đây là ma trận đối xứng qua tâm:
    1234
    5665
    4321
    

Xét tất cả các ma trận a có thể gồm các số nguyên không âm, với a[i][j] \le b[i][j] cho trước, bạn cần tính số ma trận thỏa mãn một số tính chất trong các tính chất trên.

Input, Output và Subtasks

Input: (bàn phím)
  • Dòng đầu tiên gồm hai số nguyên dương m, n (m, n \le 5000) là số hàng và cột của ma trận a (và cả ma trận b).
  • Dòng thứ hai gồm một chuỗi ba ký tự 0 hoặc 1, trong đó nếu ký tự thứ i là 1, bạn sẽ cần tính số ma trận thỏa mãn tính chất thứ i theo thứ tự trên đề bài (ví dụ: chuỗi ký tự là 011 thì bạn cần phải đếm số ma trận thỏa mãn tính chất 2 và 3 trên đề bài).
  • m dòng tiếp theo, mỗi dòng gồm một xâu ký tự chỉ gồm các ký tự số. Ký tự thứ j ở dòng thứ i trong m dòng này là phần tử b[i][j].
Output: (màn hình)
  • Một dòng duy nhất gồm số lượng ma trận thỏa mãn các tính chất trong input. Vì kết quả có thể rất lớn nên chỉ cần in ra phần dư khi chia cho 10^9 + 7.
Subtasks
  • Subtask 1 (60\%): Chuỗi ký tự ở dòng thứ hai có ít nhất hai ký tự 1.
  • Subtask 2 (40\%): Không có giới hạn gì thêm.

Sample 1

Input (bàn phím)
3 4
001
1010
0101
1010
Output (màn hình)
1
Notes
  • Input yêu cầu đếm số ma trận thỏa mãn tính chất đối xứng tâm, và ma trận gồm toàn số 0 là ma trận duy nhất thỏa mãn.

Lọc nước (TP Hồ Chí Minh 2025)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: LOCNUOC.INP
  • Tệp ra: LOCNUOC.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Khuyến mãi (Lào Cai 2025)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: CAU1.INP
  • Tệp ra: CAU1.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Từ đối xứng (Phú Yên 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: BAI2.INP
  • Tệp ra: BAI2.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Tổng (Lâm Đồng 2025)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: CAU1.INP
  • Tệp ra: CAU1.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

TLEoj Contest #03 - Mảng xor

huyhau6a2

Bạn được cho một dãy số a gồm n phần tử. Dãy số b được tạo bằng cách như sau:

  • b_1=a_1\oplus a_2
  • b_2=a_2\oplus a_3
  • b_3=a_3\oplus a_4
  • \dots
  • b_{n-1}=a_{n-1}\oplus a_n
  • b_n=a_n\oplus a_1

Trong đó, \oplus là thao tác bit XOR. Bạn có thể đọc tại đây

Bạn được cho dãy số b, nhiệm vụ của bạn là tìm một dãy số a thỏa mãn điều kiện sao cho thứ tự từ điển của dãy là nhỏ nhất.

Một dãy số a được coi là có thứ tự từ điển nhỏ hơn dãy số b khi tồn tại vị trí i mà:

  • Với mọi vị trí j<i thì a_j=b_j
  • a_i<b_i

Input, Output và Subtasks

Input
  • Dòng thứ nhất gồm 1 số t là số testcase (1\le t\le 10^4)
  • Sau đó là t block được định dạng như sau:
    • Dòng đầu tiên gồm 1 số n (2\le n\le 10^5)
    • Dòng tiếp theo gồm n số b_1,b_2,\dots,b_n (0\le b_i<2^{30})
  • Dữ liệu đảm bảo tổng n trong tất cả testcase không quá 2\times 10^5
Output
  • Xuất ra t dòng được định dạng như sau:
    • Nếu không có dãy thỏa mãn, xuất -1
    • Ngược lại, xuất ra dãy a thỏa mãn có thứ tự từ điển nhỏ nhất, các giá trị được cách nhau bởi 1 dấu cách

Sample

Input
3
3
1 2 3
3
1 0 0
10
3 6 4 5 2 4 5 14 1 8
Output
0 1 3
-1
0 3 5 1 4 6 2 7 9 8

MOD (Quảng Bình 2025)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: MOD.INP
  • Tệp ra: MOD.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Trò chơi (Tuyên Quang 2026)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: BAI1.INP
  • Tệp ra: BAI1.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Dãy thuận nghịch (Bến Tre 2023)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: TNGH.INP
  • Tệp ra: TNGH.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

TLEOJ Contest #12 - 10 và 01

huyhau6a2 hiện đang có một chương trình tên là binary.cpp. Trong code của cậu có thực hiện các bước như sau:

  • Bước 1: Nhập vào chương trình một xâu nhị phân s (xâu nhị phân là xâu chỉ bao gồm các ký tự 0 và 1). Thực hiện bước 2.
  • Bước 2: Kiểm tra xem trong xâu s có xuất hiện đoạn ký tự 10 hay không, nếu có thì thực hiện bước 3, còn không thì kết thúc chương trình.
  • Bước 3: Thay đồng loạt tất cả các đoạn ký tự 10 xuất hiện trong xâu s thành 01. Quay lại bước 2.

Ví dụ: Với xâu s=1100 thì chương trình sẽ thực hiện như sau:

  • Kiểm tra thấy có đoạn ký tự 10 xuất hiện, chuyển qua bước 3.
  • Thay tất cả đoạn ký tự 10 thành 01. Xâu s trở thành 1010. Quay lại bước 2.
  • Kiểm tra thấy có đoạn ký tự 10 xuất hiện, chuyển qua bước 3.
  • Thay tất cả đoạn ký tự 10 thành 01. Xâu s trở thành 0101. Quay lại bước 2.
  • Kiểm tra thấy có đoạn ký tự 10 xuất hiện, chuyển qua bước 3.
  • Thay tất cả đoạn ký tự 10 thành 01. Xâu s trở thành 0011. Quay lại bước 2.
  • Kiểm tra thấy không có đoạn ký tự 10 xuất hiện, kết thúc chương trình.
    Vậy với xâu s=1010 thì chương trình sẽ thực hiện bước 3 hai lần.

Với chương trình mà huyhau6a2 viết, rõ ràng nó sẽ kết thúc sau một vài lần thực hiện bước 3, tức là nó không chạy vô hạn. Nhiệm vụ của bạn là xác định xem với xâu s mà huyhau6a2 chuẩn bị nhập vào cần thực hiện bước 3 bao nhiêu lần.

Input

  • Dòng đầu gồm một số nguyên dương t là số testcase (1\le t\le 10^5).
  • Sau đó là t dòng, mỗi dòng gồm một xâu s là xâu mà huyhau6a2 sẽ nhập vào chương trình (1\le |s|\le 2\times 10^5).
  • Dữ liệu đảm bảo tổng độ dài của các xâu s trong tất cả testcase không quá 2\times 10^5.

Output

  • Với mỗi testcase, in ra duy nhất một giá trị là số lần thực hiện bước 3 trong một dòng.

Sample

Sample Input 1

4
1100
00011
1011001
1011001110

Sample Output 1

3
0
4
6

Notes

  • Testcase thứ nhất đã được giải thích ở phần statement.
  • Trong testcase thứ ba, xâu s sau các thao tác như sau: 1011001\rightarrow0110101\rightarrow0101011\rightarrow0010111\rightarrow0001111.
  • Trong testcase thứ tư, xâu s sau các thao tác như sau: 1011001110\rightarrow0110101101\rightarrow0101011011\rightarrow0010110111\rightarrow0001101111\rightarrow0001011111\rightarrow0000111111

TLEoj Contest #01 - Đếm hình vuông

Sunlight

Bạn được cho một ma trận m \times n (m hàng n cột) gồm các số 0 và 1. Bạn cần đếm số hình vuông có các đỉnh là các ô của ma trận, các cạnh là các hàng và cột của ma trận sao cho giá trị ở cả bốn đỉnh của hình vuông đều là 1 (hay nói cách khác, bạn cần đếm số bộ (i, j, k) (1 \le i \le m, 1 \le j \le n, 0 \le k \le \min(m, n)) sao cho giá trị các ô (i, j), (i + k, j), (i, j + k), (i + k, j + k) đều là 1)

Input, Output và Subtasks

Input: (bàn phím)
  • Dòng đầu tiên gồm các số nguyên dương m, n (m, n \le 2000)
  • m dòng tiếp theo, mỗi dòng gồm một chuỗi n ký tự 0 hoặc 1, ký tự thứ i ở hàng thứ j miêu tả giá trị của ô (i, j) trong ma trận.
Output: (màn hình)
  • In ra một số nguyên duy nhất là số lượng hình vuông thỏa mãn.
Subtasks
  • Subtask 1 (40\%): m, n \le 100
  • Subtask 2 (30\%): m, n \le 200
  • Subtask 3 (20\%): m, n \le 600
  • Subtask 4 (10\%): Không có giới hạn gì thêm

Sample 1

Input (bàn phím)
3 3
101
111
110
Output (màn hình)
8
Notes
  • Mỗi ô của ma trận có giá trị 1 đều là một hình vuông kích thước 1 \times 1.
  • Có một hình vuông kích thước 2 \times 2 gồm các đỉnh (2, 1), (2, 2), (3, 1), (3, 2)

Giao hàng (TP Hồ Chí Minh 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: GIAOHANG.INP
  • Tệp ra: GIAOHANG.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

VIDEO (Quảng Bình 2025)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: VIDEO.INP
  • Tệp ra: VIDEO.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB

Số nguyên tố đối xứng (HSG9 ĐN 2022)

Sunlight

Một số được gọi là số nguyên tố đối xứng nếu nó là một số nguyên tố và khi đọc số này từ trái sang phải hay từ phải sang trái đều như nhau. Chẳng hạn 131 là số nguyên tố đối xứng.
Yêu cầu: Cho trước một số nguyên dương x. Hãy tính xem có bao nhiêu số nguyên tố đối xứng lớn hơn 10 và bé hơn x.

Sample

Input (NTDX.INP)
150
Output (NTDX.OUT)
3
Giải thích

Có 3 số nguyên tố đối xứng lớn hơn 10 là 131; 101 và 11

Giới hạn

  • Có 50\% test tương ứng x\leq 10^4; 20\% test tương ứng với 10^4<x\leq 10^6; 30\% test tương ứng với 10^6<x\leq 10^{10}

TLE-oj Cup Round 5 - Bàn cờ bằng nhau

huyhau6a2

huyhau6a2 thích chơi cờ vua. Cậu đã tạo ra n bàn cờ có kích thước k\cdot k, được biểu diễn dưới dạng dãy a 2 chiều với đặc điểm như sau:

  • a[i][j]=0: Ô đó không có quân cờ
  • a[i][j]=1: Ô đó có quân cờ

Tuy nhiên, sau khi chơi, có thể có các bàn cờ giống nhau. huyhau6a2 cần các bạn đếm số cặp bàn cờ giống nhau. Hai bàn cờ được coi là giống nhau khi một bàn cờ có thể xoay sao cho ra được bàn cờ còn lại

Input, Output và Subtasks

Input: (CHESS.inp)
  • Dòng đầu tiên gồm 2 số n và k (n\le 5\cdot 10^4,k\le 30)
  • Sau đó là n block mô phỏng bàn cờ:
    • Để dễ biểu diễn, bàn cờ sẽ được mô phỏng với mảng b gồm n số x\text{ }(x<2^k)
    • Bàn cờ sẽ được biểu diễn dựa vào mảng b như sau: Nếu bit thứ j từ trái sang của phần tử thứ i trong mảng b bằng 1 thì a[i][j]=1, ngược lại đặt a[i][j]=0
Output: (CHESS.out)
  • Xuất ra duy nhất 1 số là số cặp bàn cờ vua giống nhau
Subtasks
  • Subtask 1 (20\%): n\le 5000,k\le 3.
  • Subtask 2 (20\%): k\le 8
  • Subtask 3 (20\%): n\le 500.
  • Subtask 4 (20\%): n\le 5000
  • Subtask 5 (20\%): Không có ràng buộc gì thêm

Sample

Input (CHESS.inp)
4 3
2 5 0
2 1 2
6 1 4
5 1 2
Output (CHESS.out)
2
Notes

Bàn cờ thứ nhất:

010
101
000

Bàn cờ thứ hai:
010
001
010

Bàn cờ thứ ba:
110
001
100

Bàn cờ thứ tư:
101
001
010

TLE Speedrun - Dãy số

Sunlight
Input và Output
Input
  • Một số nguyên dương N (1 \le N \le 10^5).
Output
  • N số đầu tiên trong dãy 1, 1, 2, 1, 2, 3, 1, 2, 3, 4, ....
Sample
Input
6
Output
1 1 2 1 2 3

TỆP TIN (Đắk Nông 2024)

Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.

  • Tệp vào: FILEDEL.INP
  • Tệp ra: FILEDEL.OUT
  • Thời gian chạy: 1.0s
  • Bộ nhớ: 1024MB