Trang chủ Tin Học Lớp 12 Vì không có bố mẹ từ bé nên hằng ngày...

Vì không có bố mẹ từ bé nên hằng ngày ngoài thời gian đến trường Chí phải đi chăn bò thuê kiếm tiền. Vào một ngày nọ, Chí đã gặp một dòng văn bản hấp dẫn được

Câu hỏi :

Vì không có bố mẹ từ bé nên hằng ngày ngoài thời gian đến trường Chí phải đi chăn bò thuê kiếm tiền. Vào một ngày nọ, Chí đã gặp một dòng văn bản hấp dẫn được khắc vào một tảng đá lớn ở giữa vùng chăn thả bò yêu thích của mình. Ý nghĩa của dòng văn bản dường như là từ một ngôn ngữ cổ xưa bí ẩn liên quan đến một bảng chữ cái chỉ gồm ba ký tự C, O, và W. Mặc dù Chí không thể giải mã văn bản nhưng COW là mẫu từ yêu thích của Chí, và cậu tự hỏi có bao nhiêu lần COW xuất hiện trong dòng văn bản.

Chí không phiền lòng nếu có những kí tự khác xen kẽ trong COW, miễn rằng các kí tự xuất hiện theo thứ tự đúng là C, O, W. Chí cũng không ngại nếu các lần xuất hiện khác nhau của COW có chung một số chữ cái. Ví dụ, COW xuất hiện một lần trong CWOW, hai lần trong CCOW, và tám lần trong CCOOWW.

Em hãy vui lòng giúp Chí đếm xem có bao nhiêu lần COW xuất hiện trong dòng văn bản đã gặp.

Dữ liệu: Vào từ file văn bản cword.inp:

Dòng đầu tiên gồm một số nguyên duy nhất N ≤ 105. Dòng thứ hai chứa một chuỗi gồm N ký tự C, O, hay W.

Kết quả: Ghi ra file văn bản cword.out chỉ một số nguyên duy nhất là số lần COW xuất hiện như một dãy con (các kí tự không nhất thiết phải liên tục) trong chuỗi input.

Ví dụ

cword.inp

cword.out

6

COOWWW

6

Lời giải 1 :

#include <bits/stdc++.h>

using namespace std;

#define int long long

int n , d = 0 , d1 = 0 , d2 = 0;
string s;
main() {
  //freopen(".inp", "r", stdin);
  //freopen(".out", "w", stdout);
  ios_base::sync_with_stdio(0);
  cin.tie(nullptr);
  cin >> n;
  cin >> s;
  for(char c: s)
  {
    if(c == 'C') d++;
    else if(c == 'O') d1 += d;
    else if(c == 'W') d2 += d1;
  }
  cout << d2;
  return 0;
}
  

Lời giải 2 :

/*
 /\_/\  
( o.o ) 
 > - <
*/
#include <bits/stdc++.h>
#define ll long long
using namespace std;
main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    ll n,demC=0,demO=0,demW = 0;
    string a;
    cin>>n;
    cin>>a;
    for(char c:a)
    {
        if(c == 'C') demC++;
        if(c == 'O') demO+=demC;
        if(c == 'W') demW+=demO;
    }
    cout<<demW;
    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 12

Lớp 12 - Năm cuối ở cấp trung học phổ thông, năm học quan trọng nhất trong đời học sinh, trải qua bao năm học tập, bao nhiêu kỳ vọng của người thân xung quanh. Những nỗi lo về thi đại học và định hướng tương lai thật là nặng nề. Hãy tin vào bản thân, mình sẽ làm được và tương lai mới đang chờ đợi chúng ta!

Nguồn :

sưu tập

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK