Thứ Tư, 29 tháng 1, 2020

ÔN THI THÔI




Bài 1: ôn thi
Gần đến ngày thi học sinh giỏi nên Tý, Sửu, Dậu thành lập một nhóm để giải n bài tập trong đề cương mà giáo viên cho. Nhóm quyết định sẽ giải bài tập nào mà ít nhất 2 người trong nhóm biết cách giải. Hãy viết chương trình cho biết nhóm giải được bao nhiêu bài tập trong đề cương
input: nhập từ file onthi.inp
-Dòng đầu tiên chứa một số nguyên n (1<n< 1000) là số lượng bài tập trong đề cương.
-n dòng sau mỗi dòng chứa ba số nguyên lần lượt là khả năng giải bài tập của Tý, Sửu, Dậu  (mỗi số nguyên là 0 hoặc 1, nếu là 1 là biết cách giải, là 0 là không biết cách giải)  Các số trên các dòng được phân cách bằng dấu cách.
output: xuất ra file onthi.out gồm một dòng
In một số nguyên duy nhất - số lượng bài tập mà nhóm giải được
Ví dụ:
input
output
3
1 1 0
1 0 0
1 1 1
2
2
1 0 0
0 1 1
1

Giải thích:
-Trong test1: Tý và Sửu biết giải bài tập đầu và cả ba biết giải bài tập thứ 3. Bài tập thứ 2 chỉ có Tý biết giải. Do đó nhóm chỉ giải 2 bài tập là  1 và 3
-Trong test 2, nhóm chỉ giải 1 bài tập là bài 2 vì Sửu và Dậu biết cách giải.
weqa
Bài 2:


Minh đang  bị mắc kẹt ở cấp độ HBK của trò chơi Dragon mà anh ấy đang chơi. Để chuyển sang cấp độ tiếp theo anh ta phải đánh bại tất cả n con rồng sống ở cấp độ này. Minh và những con rồng có sức mạnh, được biểu thị bằng một số nguyên. Trong cuộc đấu tay đôi giữa hai đối thủ, kết cục của trận đấu được quyết định bởi sức mạnh của đối phương. Ban đầu, sức mạnh của Minh bằng s.
Nếu Minh bắt đầu đấu tay đôi với con rồng thứ i (1 ≤ i ≤ n) và sức mạnh của Minh không lớn hơn sức mạnh của con rồng, thì Minh sẽ thua trận đấu và “game over”. Nhưng nếu sức mạnh của Minh lớn hơn sức mạnh của rồng, thì anh ta sẽ đánh bại con rồng và được tăng thêm sức mạnh bằng yi.
Minh có thể chiến đấu với những con rồng theo bất kỳ thứ tự nào. Xác định xem anh ta có thể chuyển sang cấp độ tiếp theo của trò chơi hay không, nghĩa là đánh bại tất cả những con rồng mà không thua một lần nào.
input: file dragon.inp gồm
-Dòng đầu tiên chứa hai số nguyên s và n (1 ≤ s ≤104, 1 ≤ n ≤103).
-n dòng tiếp theo: dòng thứ i chứa 2 số nguyên xi và yi (1 ≤ xi≤ 104, 0 ≤ yi ≤ 104)  lần lượt là sức mạnh của rồng thứ i và phần thưởng cho việc đánh bại nó.
output: file dragon.out gồm 1 dòng
-in WIN  nếu Minh có thể chuyển sang cấp độ tiếp theo và in GAME OVER nếu anh ta không thể
Input
output
2 2
1 99
100 0
WIN
10 1
100 100
GAME 0VER


Giải thích:
Trong test 1 sức mạnh của Minh ban đầu bằng 2. Vì sức mạnh của con rồng đầu tiên nhỏ hơn 2, Minh có thể chiến đấu với nó và đánh bại nó.
Sau đó sức mạnh của anh ta tăng lên 2 + 99 = 101. Bây giờ anh ta có thể đánh bại con rồng thứ hai và chuyển sang cấp độ tiếp theo.
Trong test 2 sức mạnh của Minh quá nhỏ để đánh bại con rồng duy nhất và
đành game over

wepa
Bài 3: Danh sách thí sinh đậu 
Theo quy định của của ban tổ chức hội thi Tin học trẻ mùa Xuân thì những thí sinh đạt được số điểm bằng hoặc lớn hơn điểm số của thí sinh vị trí thứ k sẽ đậu.
Tổng cộng có n thí sinh tham gia cuộc thi (n ≥ k) và ta đã biết điểm của họ.  Tính toán có bao nhiêu người đậu
input: nhập từ file dsthidau.inp
-Dòng đầu tiên của đầu vào chứa hai số nguyên n và k (1 ≤k ≤n ≤50) cách nhau bởi một dấu cách
-Dòng thứ hai chứa n số nguyên được phân tách bằng dấu cách a1, a2, ..., an (0 ≤ ai ≤100), trong đó ai là số điểm mà thí sinh ở vị trí thứ i giành được. Trình tự đã cho là không tăng (nghĩa là với tất cả i từ 1 đến n - 1, điều kiện sau được thỏa mãn: ai ≥ ai + 1).
output: xuất ra file dsthidau.out
Xuất số lượng người đậu
Ví dụ:
Input
Output
8 5
10 9 8 7 7 7 5 5
6
4 2
0 0 0 0
0

Giải thích:
Trong ví dụ đầu tiên, thí sinh tham gia ở vị trí thứ 5 kiếm được 7 điểm. Khi người tham gia ở vị trí thứ 6 cũng kiếm được 7 điểm, có 6 người đậu.
qtia

Bài 4: Chuỗi đá (tập làm quen với dữ liệu kiểu string)

Chú ý: Xem lại bài 10 bài tập nhập xuất file 2 nếu quên


Bờm có một chuỗi đá s gồm nhiều viên, mỗi viên có thể có màu đỏ, xanh lá cây hoặc vàng. Đếm số lượng đá tối thiểu cần lấy ra từ chuỗi đá để trong chuỗi đá còn lại không có hai viên đá cạnh nhau trùng màu.
Input. Được nhập từ file chuoida.inp
-gồm 1 dòng chứa chuỗi đá s. Viên màu đỏ có kí hiệu "R", Viên màu xanh có kí hiệu "G", Viên màu vàng có kí hiệu "Y" (s tối đa 255 kí tự)
output: ghi ra file chuoida.out gồm 1 dòng
In một số nguyên duy nhất
số lượng đá tối thiểu cần lấy ra từ chuỗi đá để trong chuỗi đá còn lại bất kỳ hai viên đá cạnh nhau nào có màu khác nhau.
Input
Output
RRGY
1
RRRRR
4


Bài 5: Số gần may mắn
Mỵ thích những con số may mắn. Theo Mỵ số may mắn là số nguyên dương có biểu thị thập phân chỉ chứa các chữ số may mắn 6 và 8. Ví dụ, các số 68, 866, 8 là may mắn và 58, 67, 468 thì không.
Mỵ gọi một số là gần như may mắn nếu nó có thể chia hết cho một số may mắn. Giúp cô ấy kiểm tra xem số n đã cho là gần như may mắn hay không?
Lưu ý rằng tất cả các số may mắn gần như là may mắn vì bất kỳ số nào cũng chia hết cho chính nó.
Input. Nhập từ file ganmayman.inp gồm 1 dòng chứa một số nguyên n (1 n 1000) - số cần kiểm tra.
output. Xuất ra file ganmayman.out gồm 1 dòng
Trong dòng duy nhất in "Yes" (không có dấu ngoặc kép), nếu số n gần như may mắn. Nếu không, hãy in "No" (không có dấu ngoặc kép).


Input
Output
68
Yes
36
Yes
17
No

Bài 6: Kiểm tra IQ 1

Bờm đang chuẩn bị để vượt qua bài kiểm tra IQ. Nhiệm vụ trong bài kiểm tra này là tìm ra một số trong số n số đã cho khác với các số khác. Bờm quan sát thấy rằng một số thường khác với các số khác về độ chẵn. Biết các bạn Cẩm Mỹ sắp thi học sinh giỏi Tin học nên Bờm nhờ các bạn viết cho anh ta một chương trình mà trong số n số đã cho sẽ tìm thấy một số khác với các số còn lại.
input: được nhập từ file iq.inp gồm 2 dòng
-Dòng đầu tiên chứa số nguyên n (2 ≤ n  ≤103) - số lượng số trong bài kiểm tra.
-Dòng thứ hai chứa n số tự nhiên được phân tách bằng dấu cách, mỗi số không vượt quá 1000. Nó được đảm bảo rằng chính xác sẽ có một số trong những số này khác với các số khác về độ chẵn.
output: xuất ra file iq.out gồm 1 dòng
-in ra vị trí của số khác với các số khác về độ chẵn. Các số được đánh số từ 1  đến n theo thứ tự đầu vào.

Ví dụ:
Input
output
5
2 4 7 8 10
3
4
1 2 1 1
2

wta
Bài 7: Kiểm tra IQ 2

Bờm đã vượt qua được bài kiểm tra IQ cấp huyện. Nhưng khi về đến làng Phú Ông lại không tin đó là sự thật, Phú Ông bèn ra cho Bờm một nhiệm vụ khác. Nhiệm vụ lần này như sau: Phú Ông viết ra bốn số trên bảng theo thứ tự tùy ý  gồm tổng của hai số trong ba số (a+b, b+c, a+c) và tổng của cả ba số (a+b+c). Vì vậy, có bốn số trên bảng theo thứ tự ngẫu nhiên. Bờm phải tìm ra ba số a, b, c và in ba số nguyên theo thứ tự tùy ý.
Em hãy giúp Bờm tìm ra 3 số đó nhé?
Hãy chú ý rằng ba số đã cho a, b, c có thể bằng nhau
Input: file iq2.inp gồm
Gồm 1 dòng vào chứa bốn số nguyên dương x1, x2, x3, x4 (2 <= xi <=109). Nó được đảm bảo rằng sẽ có đáp án
Output: file iq2.out gồm
in ra 3 số a, b, c theo thứ tự tùy ý trên một dòng.
Ví dụ:
Input
Output
3 6 5 4
1 2 3
19 11 14 13
6 8 5

qqtra

Bài 8: Đi xe buýt
Bờm gần đây đã bắt đầu đi lại bằng xe buýt. Biết rằng một vé thường có giá a đồng trên 1 chuyến. Bên cạnh đó, Bờm phát hiện ra rằng cậu ấy có thể mua một vé đặc biệt có giá b đồng trên m chuyến (cậu ấy có thể mua nó nhiều lần). Bờm đã tính toán; cậu ấy sẽ cần phải sử dụng xe buýt n lần. Giúp Bờm tính số tiền tối thiểu cậu ấy cần bỏ ra là bao nhiêu
Input: file xebus.inp gồm 1 dòng
- Chứa bốn số nguyên là n, m, a, b (1 ≤ n, m, a, b ≤ 1000) lần lượt là số lần đi xe Bờm đã lên kế hoạch, số chuyến đi được bằng một vé đặc biệt, giá của một vé thường và giá của một vé đặc biệt. Mỗi số cách nhau 1 khoảng trắng
Đầu ra: file xebus.out gồm 1 dòng
In một số nguyên duy nhất - số tiền tối thiểu mà Bờm cần bỏ ra
Ví dụ:
Input
Output
6 2 1 2
6
5 2 2 3
8
Giải thích:
Trong ví dụ 1, một trong những giải pháp tối ưu là: mỗi lần đi mua một vé thường. Có những giải pháp tối ưu khác mua 3 vé đặc biệt

Trong ví dụ 2: mua 2 vé đặc biệt và 1 vé thường. ryy*
Bài 9: giá trị lớn nhất của biểu thức
Trên lớp giáo viên đã viết ba số nguyên dương a, b, c trên bảng đen. Nhiệm vụ của em là chèn các phép toán '+' và '*' và có thể đặt dấu ngoặc giữa các số để giá trị của biểu thức kết quả càng lớn càng tốt.
Hãy xem xét một ví dụ: giả sử rằng giáo viên đã viết các số 1, 2 và 3 trên bảng đen. Dưới đây là một số cách đặt phép toán và dấu ngoặc:
1+2+3=6
1+2*3=7
1*2+3=5
1*2*3=6
(1+2)*3=9
1*(2+3)=5
Lưu ý rằng em chỉ có thể chèn các phép toán “+”  và “*” và dấu ngoặc giữa ba số, tức là em không thể thay đổi vị trí các số nguyên. Chẳng hạn, ví dụ trên em không thể có biểu thức (1 + 3) * 2. Như vậy với ví dụ trên ta thấy rằng giá trị tối đa mà có thể nhận được là 9.
input: file tinhtoan.inp gồm 1 dòng chứa
-Chứa ba số nguyên a, b và c (1 ≤ a, b, c ≤100).
Mỗi số cách nhau 1 kí tự trắng
output: file tinhtoan.out gồm 1 dòng chứa
-Giá trị tối đa của biểu thức có thể thu được. ruo*
Ví dụ:


Input
Output
2 3 10
60
1 2 3
9

Bài 10: Tăng trưởng kinh doanh
Bờm có một cửa hàng kinh doanh đồ ăn nhanh, hàng ngày Bờm đều ghi doanh thu vào một cuốn sổ. Bờm muốn kiểm tra độ tăng trưởng trong kinh doanh, đó là lý do tại sao anh ta muốn biết số ngày tối đa liên tiếp có doanh thu tăng. Hãy viết một chương trình giúp Bờm thực hiện công việc này.
input: file tangtruong.inp gồm
Dòng đầu tiên chứa số nguyên n (1 ≤n ≤105) là số ngày được Bờm ghi trong s

Dòng thứ hai chứa n số nguyên a1, a2, ..., an (1 ≤ ai≤ 109).
Số ai là doanh thu của ngày thứ i
output: file tangtruong.out gồm
In một số nguyên duy nhất –
số ngày tối đa có doanh thu tăng 
ví dụ:
Input
Output
8
6 9 7 8 9 12 8 10
4

Giải thích: ở đây có 3 giai đoạn mà doanh thu của các ngày liên tiếp là tăng
Gồm đoạn 1  gồm 2 ngày: ngày 1 và 2 (6, 9)
Đoạn 2 gồm 4 ngày: ngày 3 đến ngày 6 ( 7, 8, 9, 12)
Đoạn 3 gồm 2 : ngày 7èngày 8 (8, 10)

0 nhận xét:

Đăng nhận xét