Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Đếm số chương chưa đọc xong trong sách bằng C++

Mô tả bài toán

Sách n chương, chương i từ trang l đến r (mảng P). Đã đọc đến trang k-1, trang k là trang đầu chưa đọc. Đếm số chương chưa đọc xong (chứa trang ≥ k).

Ví dụ

P=[[1,3],[4,7],[8,11]], k=4 → Chương 1 đọc xong, chương 2,3 chưa xong → 2.

Thuật toán

Tìm chương i chứa trang k (l ≤ k ≤ r). Số chương chưa xong = n - i + 1 (1-based).

Code C++

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

int solve(vector> P, int k) {
    int n = P.size();
    for (int i = 1; i <= n; i++) {
        if (k >= P[i-1][0] && k <= P[i-1][1])
            return n - i + 1;
    }
    return 0;
}

int main() {
    vector> P = {{1,3},{4,7},{8,11}};
    int k = 4;
    cout << solve(P, k) << endl;
    return 0;
}

Đầu vào / Đầu ra

Input: {{1,3},{4,7},{8,11}}, 4

Output: 2