THT C2 Đà Nẵng 2022 & 2023

Bộ đề bài

1. Thập phân (THT C2 Đà Nẵng 2022)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 500M Input: bàn phím Output: màn hình

Cho một số thực \(X\) có 4 chữ số sau dấu phẩy \((0 \le X < 100)\). Hãy làm tròn \(X\) trở thành số nguyên gần
nhất và nhỏ nhất.
Dữ liệu đầu vào đảm bảo \(X\) có đúng 4 chữ số ở phần thập phân.

Input

  • Đọc từ file văn bản THAPPHAN.INP một số thực \(X\).

Output

  • Ghi ra file văn bản THAPPHAN.OUT số nguyên được làm tròn từ \(X\).

Example

Test 1

Input
0.1234
Output
0
Note

Ở ví dụ 1 số nguyên gần nhất và nhỏ nhất của 0.1234 là 0

Test 2

Input
12.5000
Output
12

2. Robot (THT C2 Đà Nẵng 2022)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 500M Input: ROBOT.INP Output: ROBOT.OUT

Trong quá trình tìm tòi, nghiên cứu tài liệu để xây dựng phần mềm dự thi bảng D3 trong kì thi Tin
học trẻ. Sau một thời gian tìm hiểu Sĩ đã thiết kế được một con robot tự động, nhiệm vụ của con robot
này là với một dãy kí tự \(S\) bất kì sẽ thực hiện được hai phép biến đổi là phép quay trái \(L\) và phép quay
phải \(R\).

Phép biến đổi \(L\) sẽ dời kí tự trong dãy từ trái sang phải, kí tự đầu tiên của dãy sẽ chuyển xuống kí tự
cuối cùng của dãy.

Ví dụ: abcde, trạng thái dãy sau khi biến đổi \(L\) là bcdea
Phép biến đổi \(R\) sẽ dời kí tự trong dãy từ phải sang trái, kí tự cuối cùng của dãy sẽ chuyển lên kí tự
đầu tiên của dãy.

Ví dụ: abcde, trạng thái dãy sau khi biến đổi \(R\) là eabcd
Vì con Robot bạn thiết kế còn quá đơn giản nên không thể thực hiện được một dãy liên tiếp các phép
biến đổi, em hãy giúp bạn cải tiến con Robot trên nhé.

Yêu cầu: Cho 1 dãy các phép biến đổi, sau khi thực hiện tuần tự các phép biến đổi đã cho, dãy \(S\) sẽ
chuyển sang trạng thái dãy \(S1\) mới. Hãy tìm trạng thái này.

Input

Đọc từ file văn bản ROBOT.INP gồm hai dòng

  • Dòng thứ nhất chứa xâu \(S\) có độ dài không quá \(10^5\) kí tự.
  • Dòng thứ hai chứa xâu \(A\) chỉ gồm các kí tự \(L, R\) viết liền nhau dùng để biểu diễn tuần tự các phép
    biến đổi của Robot. Chiều dài không quá \(10^6\) kí tự.

Output

  • Ghi ra file văn bản ROBOT.OUT dãy \(B\) là kết quả của bài toán.

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): độ dài của xâu \(S\) không vượt quá 255 kí tự
  • Subtask \(2\) (\(50\%\) số điểm): độ dài của xâu \(S\) không vượt quá \(10^5\) kí tự.

Example

Test 1

Input
abcde
RRR
Output
cdeab
Note

Sau khi thực hiện 3 lần phép quay phải kết quả nhận được là cdeab nên đưa ra cdeab

Test 2

Input
abcde
RLRR
Output
deabc
Note

Sau khi thực hiện 3 lần phép quay phải và 1 lần phép quay trái kết quả nhận được là deabc nên đưa ra deabc

3. Bộ ba số (THT C2 Đà Nẵng 2022)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 500M Input: BOBASO.INP Output: BOBASO.OUT

Cho dãy gồm \(N (1 \le N \le 10^5)\) số nguyên \(A_1, A_2, ... , A_N (0 < A_i \le 10^5)\)

Với bộ ba số \((i,j, k)\) trong đó \(1 \le i < j < k \le n\) hãy tìm giá trị \(S = 3A_i + 2A_j − 5A_k\) sao cho \(S\) đạt
giá trị lớn nhất.

Input

Đọc từ file văn bản BOBASO.INP gồm hai dòng:

  • Dòng đầu tiên chứa số nguyên \(N\).
  • Dòng thứ hai chứa \(N\) số nguyên \(A_1, A_2, ... , A_N\) giữa các số cách nhau một khoảng trắng.

Output

  • Ghi ra file văn bản BOBASO.OUT một số duy nhất là số \(S\) lớn nhất tìm được.

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(N \le 100\)
  • Subtask \(2\) (\(40\%\) số điểm): \(N \le 5.10^3\)
  • Subtask \(3\) (\(40\%\) số điểm): \(N \le 10^5\)

Example

Test 1

Input
10
4 9 7 9 4 3 2 9 15 6
Output
35
Note

3 giá trị số cần tìm để S đạt giá trị lớn nhất lần lượt là 9, 9 và 2 nằm ở 3 vị trí là 2, 4 và 7

4. Độ vui vẻ (THT C2 Đà Nẵng 2022)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 500M Input: DOVUIVE.INP Output: DOVUIVE.OUT

Bài 4: Độ vui vẻ

.

5. Mật khẩu (THT C2 Đà Nẵng 2023)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 500M Input: MATKHAU.INP Output: MATKHAU.OUT

Nhằm bảo mật thông tin trao đổi, người gửi và người nhận thông tin có thể đặt ra các quy tắc để tìm ra mật khẩu. Hiếu muốn trao đổi mật khẩu với Hùng nên đặt ra quy tắc như sau: Hiếu gửi cho Hùng một xâu kí tự, mật khẩu được tìm bằng cách tính tổng các chữ số chẵn có trong xâu rồi ghép với chiều dài của xâu đó.

Dữ liệu vào:

  • Đọc từ file văn bản MATKHAU.INP gồm một dòng duy nhất chứa xâu kí tự có độ dài không quá \(10^5\) kí tự gồm các kí tự in hoa, in thường, kí tự số, khoảng trắng và các kí tự đặc biệt.

Kết quả:

  • Ghi ra file văn bản MATKHAU.OUT kết quả của bài toán là mật khẩu cần tìm.

Scoring

Example

Test 1

Input
Tin hoc tre 2023
Output
416
Note

Tổng các chữ số chẵn là \(2+2=4\) và có chiều dài là \(16\) nên mật khẩu là \(416\)

6. Độ cao nguyên tố (THT C2 Đà Nẵng 2023)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 500M Input: DOCAONT.INP Output: DOCAONT.OUT

Số nguyên tố là số chỉ có đúng hai ước 1 và chính nó. Độ cao của một số là tổng các chữ số của số đó.

Với một số tự nhiên \(n\) cho trước, hãy đếm và liệt kê các số nguyên tố có giá trị không vượt quá \(n\) và có độ cao đúng bằng \(h\).

Dữ liệu vào: Đọc từ file văn bản DOCAONT.INP gồm hai số nguyên lần lượt là \(n\ (1≤n≤5\times 10^6)\)\(h\ (1≤h≤58)\) cách nhau 1 khoảng trắng.

Kết quả: Ghi ra file văn bản DOCAONT.OUT gồm nhiều dòng, mỗi dòng là một số nguyên tố thỏa mãn yêu cầu của bài toán theo thứ tự tăng dần. Dòng cuối cùng ghi số lượng số nguyên tố vừa liệt kê.

Scoring

  • \(40\%\) số test với \(1≤n≤10^3\);
  • \(40\%\) số test tiếp theo với \(10^3<n≤10^5\);
  • \(20\%\) số test còn lại với \(10^5<n≤5\times 10^6\).

Example

Test 1

Input
100 16
Output
79
97
2
Note

Có tất cả \(2\) số nguyên tố nhỏ hơn hoặc bằng \(100\) thỏa mãn tổng các chữ số của nó bằng \(16\)\(79\)\(97\).

7. Trò chơi bóc bòng (THT C2 Đà Nẵng 2023)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 500M Input: BOCBONG.INP Output: BOCBONG.OUT

Tại hội trại của trường THPT ABC, ban tổ chức hội trại tổ chức trò chơi có tên “Bốc bóng”. Trong trò chơi này ban tổ chức xếp n quả bóng thành một hàng ngang, các quả bóng được đánh số thứ tự từ 1 đến \(n\) (theo thứ tự từ trái sang phải). Trên mỗi quả bóng trong \(n\) quả bóng ban tổ chức ghi lên trên đó một con số bất kì, quả bóng thứ \(i\) được ghi lên con số có giá trị \(a_i\ (i=1,2,…,n)\). Trong trò chơi này ban tổ chức yêu cầu các đội chơi được chọn và bốc ra khỏi hàng 0 hoặc một số quả bóng liên tiếp ở đầu, hoặc cuối hoặc cả hai đầu của hàng bóng sao cho thỏa mãn các điều kiện sau:

  • Số quả bóng còn lại trên hàng không nhỏ hơn \(k\).
  • Trung bình của các con số được ghi trên các quả bóng còn lại trên hàng là lớn nhất.

Đội chơi giành được chiến thắng là đội chơi có cách bốc bóng sao cho thỏa mãn được tất cả các yêu cầu trên của ban tổ chức.

Yêu cầu: Em hãy đóng vai trò là một người chơi tham gia trong trò chơi này, hãy tìm cách bốc bóng sao cho giành được chiến thắng về cho đội của mình nhé.

Dữ liệu vào: Đọc từ file văn bản BOCBONG.INP

  • Dòng đầu tiên chứa 2 số nguyên \(n,k\) lần lượt là số quả bóng và số quả bóng tối thiểu còn lại sau khi bốc.
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1,a_2,…,a_n\ (|a_i |≤10^9,1≤i≤n)\) lần lượt là các số được ghi trên mỗi quả bóng, các số được phân tách nhau bởi dấu cách.

Kết quả: Ghi vào file văn bản BOCBONG.OUT một số thực duy nhất là giá trị trung bình của các quả bóng còn lại. Kết quả đưa ra lấy 3 chữ số thập phân sau dấu phẩy.

Scoring

  • \(20\%\) số test với \(n≤400,k=1\);
  • \(20\%\) số test tiếp theo với \(1<k≤n≤400\);
  • \(30\%\) số test tiếp theo với \(1<k≤n≤5.10^3\);
  • 30% số test còn lại với \(1<k≤n≤2.10^5\).

Example

Test 1

Input
5 1
2 -1 8 8 8 -7
Output
8.0000
Note

Bốc \(2\) quả bóng có giá trị \(2, -1\) ở đầu dãy và quả bóng có giá trị \(-7\) ở cuối dãy để giá trị trung bình còn lại lớn nhất.

Test 2

Input
5 3
6 -3 6 9 -8
Output
4.5000
Note

Bốc quả bóng có giá trị \(-8\) ở cuối dãy để giá trị trung bình còn lại lớn nhất.

8. Cộng một kiểu Đức (THT C2 Đà Nẵng 2023)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 500M Input: CONG.INP Output: CONG.OUT

Đức vừa phát minh ra một phép toán cộng độc đáo và đặt tên cho nó là “cộng một kiểu Đức”, cách cộng như sau: Mỗi lần cộng một số nguyên cho một thay vì tăng giá trị của số đó lên một đơn vị Đức lại tăng tất cả các chữ số của số đó lên một đơn vị.

Ví dụ 1: \(15\) “cộng một kiểu Đức” sẽ cho kết quả là \(26\).

Ví dụ 2: \(91\) “cộng một kiểu Đức” sẽ cho kết quả là \(102\).

Yêu cầu: Với \(T\) số nguyên dương \(N\) cho trước hãy tính toán và cho biết sau khi thực hiện \(K\) lần phép cộng một kiểu Đức thì kết quả sinh ra có bao nhiêu chữ số. Vì câu trả lời có thể rất lớn do đó hãy in ra kết quả sau khi chia lấy dư cho \(10^9+7\)

Dữ liệu vào: Đọc từ file văn bản CONG.INP

  • Dòng thứ nhất: chứa số nguyên \(T\ (1 ≤ T ≤ 2.10^5)\).
  • \(T\) dòng tiếp theo mỗi dòng chứa 2 số nguyên lần lượt là \(N\)\(K\) \((1 ≤ N ≤ 10^9; 1 ≤ K ≤ 2.10^5)\)

Kết quả: Ghi vào file văn bản CONG.OUT Với mỗi trường hợp in ra số lượng chữ số của kết quả chia lấy dư cho \(10^9+7\).

Scoring

  • \(30\%\) test với \(T≤10, K≤20\);
  • \(20\%\) test với \(T≤100, K≤50\);
  • \(50\%\) test không có giới hạn gì thêm.

Example

Test 1

Input
2
9812 2
9899 3
Output
6
8
Note

\(9812 \to 10923 \to 211034\)
\(9899 \to 1091010 \to 21102121 \to 32213232\)