M = {29;30;31;32;33;34;35;36;37}
Những người tổ chức cuộc thi có danh sách N thí sinh, đánh số họ từ 1 tới N theo thứ tự từ trái sang phải, và bắt đầu sắp xếp họ vào các team theo các quy tắc sau:
- Mỗi team phải có một người Nam và một Nữ.
- Hai người có giới tính khác nhau, nằm cạnh nhau trong bảng danh sách, và có độ chênh lệch khả năng là nhỏ nhất, sẽ được xếp vào cùng một team. Nếu có nhiều đôi như thế, thì họ sẽ chọn ra đôi nằm ở vị trí trái nhất có thể.
- Sau khi tìm được đôi đó, tên của họ sẽ bị xóa đi, tên của những người còn lại sẽ tự động xích gần lại.
Những nhà tổ chức MasterChef-World Final muốn số đội tham gia là nhiều nhất có thể, vì họ tin rằng càng nhiều đội thi thì cuộc thi càng diễn ra lâu, tiền tài trợ, tiền truyền hình cũng vì thế mà tăng lên theo. Hãy giúp họ xác định xem, sẽ có tối đa bao nhiêu đội tham gia cuộc thi lần này.
Chú ý: Độ chênh lệch khả năng tính bằng trị tuyệt đối hiệu khả năng của hai người
Dữ liệu nhập:
- Một số nguyên N, số thí sinh tham gia cuộc thi (1 ≤ N ≤ 105).
- Dòng 2: Gồm N số nguyên ‘M’ (Men) hoặc W (Woman) tương ứng là giới tính của người thứ i
- Dòng 3: Gồm N số nguyên A1…AN là khả năng nấu nướng của người thứ i (0 ≤ ai ≤ 109)
Kết quả:
- Dòng 1: Số nguyên K, số team lớn nhất tạo được
- K dòng tiếp theo, dòng thứ i gồm hai số nguyên là chỉ số của team thứ i. Chỉ số mỗi team được in ra theo thứ tự từ lớn đến bé
thầy cô hỗ trợ em với ạ
đề bài:
Bài 1: Tính tổng
Trên một màn hình lớn, người ta lần lượt cho hiện ra các số của một dãy gồm N số nguyên không âm a1, a2, …, aN và cứ lặp đi lặp lại như thế (nghĩa là sau khi ai xuất hiện vài giây đến lượt ai+1 xuất hiện, số xuất hiện sau aN là a1).
Yêu cầu: Bạn được đề nghị tính tổng của K số nguyên liên tiếp xuất hiện trên màn hình bắt đầu từ số nguyên thứ B.
Dữ liệu vào: Chứa trong file BAI1.INP gồm hai dòng:
+ Dòng đầu tiên ghi ba số nguyên N, K, và B, 1 £ N £104; 1 £ K £ 2. 104 ; 1 £ B £ 109.
+ Trong N dòng sau, dòng thứ i chứa số ai (ai < 2.109).
Dữ liệu ra: Ghi ra file BAI1.OUT một số là tổng tìm được.
Ví dụ:
|
BAI1.INP |
BAI1.OUT |
|
|
5 7 6 2 3 6 7 9 |
32 |
Bờm là chủ một cửa hiệu bán giày. Một ngày nọ, Bờm kiểm tra kho và thấy trong kho còn lại 2*N chiếc giày, trong đó có N chiếc giày chân trái với kích thước lần lượt là a1, a2, …, aN, N chiếc giày chân phải với kích thước lần lượt là b1, b2, …, bN. Hai chiếc giày chỉ có thể hợp thành một đôi nếu chúng là một cặp trái - phải có cùng kích thước. Bờm quyết định mang một số giày đến nhà sản xuất để đổi.
Hãy xác định giúp Bờm số ít nhất các chiếc giày cần đổi nếu cậu ta muốn cửa hiệu của mình có thể bán được N đôi giày.
Dữ liệu vào từ file văn bản: shoes.inp
· Dòng 1: Số nguyên N (1 ≤ N ≤ 100).
· Dòng 2: N số nguyên a1, a2, …, aN (1 ≤ ai ≤ 1000, i = 1, 2,…, N).
· Dòng 3: N số nguyên b1, b2, …, bN (1 ≤ bi ≤ 1000, i = 1, 2,…, N).
Kết quả ghi ra file văn bản: shoes.out
· Dòng 1: Số nguyên là số giày ít nhất cần đổi.
Ví dụ
|
shoes.inp |
shoes.out |
Giải thích |
|
3 1 3 1 3 2 1 |
1 |
Đổi 1 chiếc giày chân trái kích thước 1 thành giày chân trái kích thước 2 hoặc đổi 1 chiếc giày chân phải kích thước 2 thành giày chân phải kích thước 1. |
Bài 3: TUOI.PAS
Tuổi của cha hiện nay là b tuổi, tuổi của con là c tuổi (b-c > 0 và 0<b,c<150 b, c là các số nguyên dương). Hãy viết chương trình để kiểm tra xem tuổi cha có gấp đôi tuổi con hay không? Nếu đúng thì thông báo “YES”; trường hợp ngược lại, hãy tính số K năm (trước đó hoặc sau đó) tuổi cha gấp đôi tuổi con và thông báo “-K” nếu là K năm trước đó tuổi cha gấp đôi tuổi con hay “K” nếu sau K năm tuổi cha sẽ gấp đôi tuổi con”.
Ví dụ
|
Tuoi.inp |
Tuoi.out |
|
48 24 |
YES |
|
49 24 |
1 |
|
47 24 |
-1 |
Gợi ý: Nếu b>2*c thì tăng i cho đến khi b+i=(c+i)*2 thông báo sau i năm
nếu b< 2*c thì tăng i cho đến khi b-i = 2*(c-i) thông báo trước i năm khác
Bài 4. Giá trị biểu thức BIEUTHUC.PAS
Cho một xâu chỉ chứa các kí tự: chữ số, dấu cộng, dấu trừ, thể hiện một biểu thức số học. Yêu cầu tính giá trị của biểu thức đã cho. các số hạng và giá trị của biểu thức có độ lớn không quá hai tỉ.
Dữ liệu vào từ tệp bieuthuc.inp chứa duy nhất một xâu kí tự thể hiện biểu thức cần tính.
Kết quả đưa ra tệp bieuthuc.out chứa một số nguyên là giá trị của biểu thức.
|
bieuthuc.inp |
bieuthuc.out |
|
12+3-7 |
8 |
Bài 6 duongdi.pas
Cho một ma trận vuông cấp n gồm các phần tử là các số nguyên dương. Hãy viết chương trình tìm đường đi từ ô đầu tiên bên trâí đến ô cuối cùng bên phải sao cho trên đường đi đó có tổng các giá trị lớn nhất. biết đường đi chỉ được phép đi sang phải hoặc đi xuống dưới.
Ví dụ
|
duongdi.inp |
Duongdi.out |
|
4 1 2 3 4 2 5 3 1 1 9 7 2 4 5 8 1 |
1 1 1 2 2 2 3 2 3 3 4 3 4 4 |
5+5 =10
5+4 =9
Bài 1: GẠCH SỐ
Chúng ta viết liên tiếp n số nguyên tố đầu tiên theo thứ tự tăng để tạo thành một số
có nhiều chữ số. Trong số này hãy gạch đi k chu để số còn lại là:
a. Nhỏ nhất
b. Lớn nhất
Dữ liệu vào: Trong fille GACH.INP với nội dung:
-Dòng đầu tiên là số n (1 <= n <= 50).và số k (1<=k<=n).
Dữ liệu ra: Trong file GACH.OUT với nội dung:
-Dòng đầu tiên là n số nguyên tố viết liền nhau .
-Dòng tiếp theo là số nhỏ nh ất sau khi đã gạch .
-Dòng cuối là số lớn nhất sau khi đã gạch .
Ví dụ:
| gach.INP | gach.OUT |
| 6 3 | 23571113 21113 71113 |
12+12
=12.2
=24
343 nhoa