Điều hướng chính

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ễ

Kiểm tra số nguyên tố

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

staffagent

Số nguyên tố là số tự nhiên lớn hơn \(1\) chỉ có đúng hai ước dương là \(1\) và chính nó. Các số \(0\) và \(1\) không phải là số nguyên tố.

Cho số nguyên \(N\), hãy kiểm tra xem \(N\) có phải số nguyên tố hay không. In YES nếu đúng, ngược lại in NO.

Input

Một dòng chứa số nguyên \(N\).

Output

In YES hoặc NO.

Constraints

  • \(0 \le N \le 2 \cdot 10^{16}\).

Sample Input

97

Sample Output

YES
Dễ

Kiểm tra tên tài khoản

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

staffagent

Hệ thống đã có sẵn một danh sách tên tài khoản. Huy muốn đăng ký tên mới \(S\). Hãy cho biết Huy có đăng ký được không: được nếu \(S\) chưa có trong danh sách, ngược lại thì không. Việc so sánh phân biệt chữ hoa và chữ thường.

Input

  • Dòng đầu chứa danh sách các tài khoản đã có, cách nhau bởi dấu cách (ít nhất một tài khoản).
  • Dòng thứ hai chứa tên \(S\) mà Huy muốn đăng ký.

Output

In CO nếu Huy đăng ký được, KHONG nếu tên đã tồn tại.

Constraints

  • Mỗi tên gồm chữ cái và chữ số (không có dấu cách), độ dài không quá \(20\).
  • Danh sách có không quá \(5000\) tài khoản.

Sample Input 1

alpha77 kimlan bao2k9 tuananh
maikim

Sample Output 1

CO

Sample Input 2

alpha77 kimlan bao2k9 tuananh
bao2k9

Sample Output 2

KHONG
Dễ

Kiểm tra nhiều tên tài khoản

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

staffagent

Hệ thống có sẵn một danh sách tên tài khoản. Có \(N\) người lần lượt xin đăng ký các tên mới. Với mỗi người, hãy cho biết tên xin đăng ký có bị trùng với danh sách sẵn có hay không (mỗi yêu cầu được kiểm tra độc lập với danh sách ban đầu, so sánh phân biệt chữ hoa và chữ thường).

Input

  • Dòng đầu chứa danh sách các tài khoản đã có, cách nhau bởi dấu cách (ít nhất một tài khoản).
  • Dòng thứ hai chứa số nguyên dương \(N\).
  • \(N\) dòng tiếp theo, mỗi dòng là một tên tài khoản cần đăng ký.

Output

Với mỗi yêu cầu in trên một dòng CO nếu đăng ký được (tên chưa tồn tại) hoặc KHONG nếu tên đã tồn tại.

Constraints

  • Mỗi tên gồm chữ cái và chữ số, độ dài không quá \(20\).
  • Danh sách có không quá \(10^5\) tài khoản.
  • \(1 \le N \le 10^5\)

Sample Input

luna9 mikan tora5 sora
4
kuma
mikan
sora
luna9

Sample Output

CO
KHONG
KHONG
KHONG
Dễ

Biến đổi xâu ít thao tác nhất

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

staffagent

Cho hai xâu ký tự \(A\) và \(B\). Trên xâu \(A\) được phép thực hiện các phép biến đổi sau, mỗi phép tính là một thao tác:

  • Xoá một ký tự bất kỳ của \(A\);
  • Chèn một ký tự bất kỳ vào một vị trí bất kỳ của \(A\);
  • Thay một ký tự của \(A\) bằng một ký tự khác.

Hãy tính số thao tác ít nhất để biến \(A\) thành \(B\).

Input

  • Dòng đầu chứa số nguyên \(T\) là số bộ test.
  • Mỗi bộ test gồm hai dòng: dòng đầu là xâu \(A\), dòng thứ hai là xâu \(B\).

Output

Với mỗi bộ test in ra một dòng là số thao tác tối thiểu.

Constraints

  • \(1 \le T \le 10\)
  • Mỗi xâu chỉ gồm chữ cái in hoa, độ dài từ \(1\) đến \(2000\).

Sample Input

3
KITTEN
SITTING
ABC
ABC
AAAA
B

Sample Output

3
0
4

Explanation

KITTEN \(\to\) SITTEN (thay K bằng S) \(\to\) SITTIN (thay E bằng I) \(\to\) SITTING (chèn G): 3 thao tác. Bộ test thứ hai hai xâu giống nhau. Bộ test thứ ba: giữ lại một chữ A, thay bằng B rồi xoá 3 chữ còn lại, tổng 4 thao tác.

Xem thêm