Trang chủ Tin Học Lớp 8 Code C++ Ạ Thời xa xưa, ở một bộ tộc cổ đại giữ tập tục đặt tên cho những đứa...
Câu hỏi :

Code C++ Ạ Thời xa xưa, ở một bộ tộc cổ đại giữ tập tục đặt tên cho những đứa trẻ mới sinh theo tên Thiêng của gia đình với hi vọng chúng sẽ được thần linh phù hộ, hạnh phúc, khỏe mạnh và có thể chống lại các thế lực đen tối, ma quỷ xung quanh. Mỗi gia đình sẽ có một tên Thiêng và từ tên đó mà đặt tên cho các thành viên trong gia đình theo quy tắc sau: - Tên của các thành viên phải là 1 xâu con gồm 1 hoặc nhiều kí tự liên tiếp nhau của tên Thiêng. ( Tên của các thành viên trong gia đình không được trùng nhau và không trùng với tên Thiêng) Ví dụ: Tên Thiêng của gia đình là "abab" thì tên của các thành viên trong gia đình sẽ là "a" , "ab" , "bab" , "ba" , ... ( các tên không được đặt là "aa" , "bb" , ... ). Yêu cầu: Cho một tên Thiêng, yêu cầu in ra số lượng tên tối đa có thể đặt. INPUT: - Một dòng duy nhất là một xâu kí tự là tên Thiêng của gia đình. OUTPUT: In ra kết quả bài toán. Ví dụ INPUT abab OUTPUT 6

image

Code C++ Ạ Thời xa xưa, ở một bộ tộc cổ đại giữ tập tục đặt tên cho những đứa trẻ mới sinh theo tên Thiêng của gia đình với hi vọng chúng sẽ được thần linh phù

Lời giải 1 :

$\color{#1fdb91}{\texttt{C}}\color{#0aaec9}{\texttt{+}}\color{#e9418e}{\texttt{+}}$

#include <iostream>
#include <set>

using namespace std;

int main() {
    
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    
    string s; getline(cin, s);
    set<string> res;
    
    for (int i=0; i<s.size(); ++i) {
        for (int j=i; j<s.size(); ++j) {
            string now = "";
            for (int k=i; k<=j; ++k) now += s[k];
            res.insert(now);
        }
    }
    
    cout << res.size()-1;
    
}

$\\$
\begin{array}{c|c|c}\color{#ffd710}{\texttt{\{}} \color{#8655d6}{\texttt{\{}}\ \ \color{#8cdcda}{\text{Daoanhviet96}}\ \ \color{#8655d6}{\texttt{\}}} \color{#ffd710}{\texttt{\}}}\end{array}

image

Lời giải 2 :

#include <bits/stdc++.h>

using namespace std;

int main()
{
    string s;
    set<string> cnt;
    cin>>s;
    for(int i=0;i<s.size();i++)
    {
        string res;
        for(int j=i;j<s.size();j++)
        {
            res+=s[j];
            cnt.insert(res);   
        }
    }
    cout<<cnt.size()-1;
}

image

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 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần và sang năm lại là năm cuối cấp, áp lực lớn dần. Hãy chú ý đến sức khỏe, cân bằng giữa học và nghỉ ngơi để đạt hiệu quả tốt nhất!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK