Trang chủ Tin Học Lớp 7 CHÁO VÀ PHỞ tên file: GRUEL.CPP Hội khỏe Phù Đổng năm nay có một môn thi mới do Đoàn thanh...
Câu hỏi :

CHÁO VÀ PHỞ tên file: GRUEL.CPP Hội khỏe Phù Đổng năm nay có một môn thi mới do Đoàn thanh niên phụ trách: các trường mở quán ăn sáng giới thiệu món ăn đặc sản vùng miền mình. Quán nào thu hút được nhiều khách đến ăn nhất sẽ thắng. Quán ăn của một trường có khả năng thắng cuộc cung cấp cho khách hàng 2 món cháo và phở. Theo quy định của Ban Tổ chức, mỗi khách chỉ được ăn một món ở một quán. Mỗi khách ăn cháo chỉ cần dùng một chiếc thìa còn khách ăn phở phải dùng một thìa và một đôi đũa. Vì là quán ăn nghiệp dư nên số thìa và đũa không nhiều lắm: chỉ có n cái thìa và m đôi đũa. Nếu một khách nào đó đến gọi món mà không còn đủ thìa hoặc đũa cần cho món đó thì họ sẽ bỏ sang quán khác. Sáng nay có k khách đăng ký tới quán. Người thứ i tới lúc ti, gọi món ăn ai, ai = 0 gọi cháo, ai = 1 gọi phở. Nếu được phục vụ họ sẽ ngồi ăn trong khoảng thời gian di. Không có hai vị khách nào cùng đến quán một lúc. Việc rửa thìa đũa được tổ chức rất tốt, nên nếu một khách đi ra đúng vào thời điểm khách mới tới thìa đũa của khách trước được rửa sạch và phục vụ được ngay cho khách mới. Yêu cầu: Hãy xác định những khách nào được phục vụ và khách nào sẽ phải đi nơi khác. Với những khách được phục vụ đưa ra thông báo Yes, với khách bị từ chối đưa ra thông báo No. Dữ liệu: Vào từ file văn bản GRUEL.INP: Dòng đầu tiên chứa 3 số nguyên n, m và k (1 n, m 103; 1 k 103). Dòng thứ i trong k dòng sau chứa 3 số nguyên ti, di và ai (1 ti, di 105), thông tin được đưa theo thứ tự tăng dần của ti. Kết quả: Đưa ra file văn bản GRUEL.OUT đưa ra các thông báo Yes hoặc No, mỗi thông báo trên một dòng. Dòng i tương ứng với khách thứ i (i = 1 ÷ k). Ví dụ: GRUEL.inp GRUEL.OUT 3 1 3 1 3 1 2 2 0 3 5 1 Yes Yes No c++

Lời giải 1 :

#include<bits/stdc++.h>
using namespace std;

int main() {
    int n, m, k;
    cin >> n >> m >> k;
    vector<tuple<int, int, int>> x;
    //(^・ω・^ )meothinhle
    for (int i = 0; i < k; i++) {
        int t, d, a;
        cin >> t >> d >> a;
        x.push_back(make_tuple(t, d, a));
    }
    vector<int> c(k + 1, 0);
    cout << "YES" << endl;
    n -= 1;
    if (get<2>(x[0]) == 1) m -= 1;
    for (int i = 1; i < k; i++) {
        for (int j = 0; j < i; j++) {
            if (c[j] == 1) continue;
            if (get<0>(x[i]) < get<0>(x[j]) + get<1>(x[j])) continue;
            c[j] = 1;
            n += 1;
            if (get<2>(x[j]) == 1) m += 1;
        }
        if (n == 0) {
            cout << "NO" << endl;
            c[i] = 1;
            continue;
        }
        n -= 1;
        if (get<2>(x[i]) == 0) {
            cout << "YES" << endl;
        } else {
            if (m > 0) {
                m -= 1;
                cout << "YES" << endl;
            } else {
                cout << "NO" << endl;
                c[i] = 1;
            }
        }
    }
    return 0;
}

Bạn có biết?

Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 7

Lớp 7 - Năm thứ hai ở cấp trung học cơ sở, một chuỗi quay mới lại đến và chúng ta vẫn bước tiếp trên con đường học sinh. Học tập vẫn là nhiệm vụ chính, hãy luôn kiên trì và không ngừng cố gắng!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK