Hướng dẫn giải đề thi UIT Code Contest đợt 14

Bài 1: ++ hay —

Để giải quyết bài toán này, ta sử dụng kiểu dữ liệu chuỗi kí tự (string) được coi là một mảng các kí tự có kích thước là n bắt đầu từ phần tử thứ 0 và kết thúc ở phần tử thứ n – 1. Gọi s là chuỗi kí tự nhập vào, nhận thấy rằng cho dù có thay đổi chuỗi kí tự ra sao thì phần tử thứ s[1] chỉ có thể là “+” hoặc “-” nên ta có thể so sánh chúng với nhau và giải quyết xong bài toán.

Code Mẫu C++

Bài 2: Đồng hồ báo thức

Ta tiến hành trừ đi x phút từ thời gian h giờ:m phút vừa nhập; sau khi trừ đi x phút thì tăng biến đếm ans lên 1 đồng thời kiểm tra xem thời gian đang xét có phải là thời gian may mắn hay không, nếu thỏa điều kiện (h==19)||(h==9)||(m%10==9) thì thời điểm đó là may mắn và dừng vòng lặp, ngược lại tiếp tục trừ x và tăng biến đếm ans lên 1 cho đến khi gặp thời điểm may mắn.

Code Mẫu C++

Bài 3: Xây dựng

Bài này ta có thể đưa về đồ thị với mỗi đỉnh là một ô trong ma trận n*m. Đỉnh có hai trạng thái là 1 đại diện ô đất trống và 0 là đại diện cho ô cây cỏ . Ta lưu lại toạ độ của những ô cây cỏ sau đó BFS với từng toạ độ đó và đánh dấu những ô đã duyệt , BFS xong thì ta sẽ cập nhập giá trị Max bằng cách so với ô đã BFS trước đó (nếu có) nếu giá trị hiện tại lớn hơn . Cứ thế duyệt hết toạ độ ô bụi rậm ta sẽ được diện tích lớn nhất.

Code Mẫu C++

 

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *