Trong hướng dẫn này, chúng ta sẽ thảo luận về chương trình tìm số lượng dãy tăng dần.
Chúng ta sẽ được cung cấp một mảng chứa các chữ số 0 đến 9. Nhiệm vụ của chúng ta là đếm tất cả các dãy hiện diện trong mảng sao cho phần tử tiếp theo lớn hơn phần tử trước.
Ví dụ
#include<bits/stdc++.h>
using namespace std;
//đếm các dãy con có thể
int count_sequence(int arr[], int n){
int count[10] = {0};
//quét từng chữ số
for (int i=0; i<n; i++){
for (int j=arr[i]-1; j>=0; j--)
count[arr[i]] += count[j];
count[arr[i]]++;
}
//lấy tất cả các dãy con có thể
int result = 0;
for (int i=0; i<10; i++)
result += count[i];
return result;
}
int main(){
int arr[] = {3, 2, 4, 5, 4};
int n = sizeof(arr)/sizeof(arr[0]);
cout << count_sequence(arr,n);
return 0;
}
Kết quả
14