Trang chủ Tin Học Lớp 8 Xâu palindrome là xâu đọc từ trái sang phải cũng...

Xâu palindrome là xâu đọc từ trái sang phải cũng giống như đọc từ phải sang trái, ví dụ xâu 'madam'. Từ một xâu người ta có thể tạo ra xâu mới bằng cách đẩy vò

Câu hỏi :

Xâu palindrome là xâu đọc từ trái sang phải cũng giống như đọc từ phải sang trái, ví dụ
xâu 'madam'. Từ một xâu người ta có thể tạo ra xâu mới bằng cách đẩy vòng một số lần: đưa kí
tự cuối xâu về đầu xâu. Ví dụ, xâu 'array', bằng cách đẩy vòng ta có thể nhận được các xâu:
'array'→'yarra'→'ayarr'→'rayar'→'rrayaTrong số các xâu nhận được có xâu 'rayar' là xâu Palindrome. Trong trường hợp này người ta nói 'array' là một xâu palindrome vòng. Bản thân xâu palindrome cũng là một xấu palindrome vòng ví dụ như xâu 'aabaa' (có số lần biến đổi bằng 0).
Yêu cầu: cho xâu S bao gồm các kí tự in thường 'a'..'z' kiểm tra xem 5 có phải xâu palindrome vòng hay không?
Dữ liệu tệp văn bản PALIN.INP có cấu trúc sau:
• Dòng 1 ghi số 7 (T≤ 10);
• 7 dòng tiếp theo mỗi dòng ghi xâu S.
Kết quả ghi vào tệp PALIN.OUT gồm có 7 dòng mỗi dòng ghi YES nếu 5 là xâu palindrome vòng, ngược lại ghi NO.
Ràng buộc:
• 30% tests tương ứng 30% số điểm của bài có T = 1, độ dài xâu 5 không quá 10 kí tự, 50% tests khác tương ứng 50% số điểm của bài độ dài xâu 5 không quá 255 kí tự, 20% tests còn lại tương ứng 20% số điểm của bài độ dài xâu 5 không quá 1000 kí tự.
(Viết chương trình C++ giúp mình với mình cần gấp bây giờ, mình cảm ơn)

Lời giải 1 :

#include <bits/stdc++.h>
using namespace std;
int tt;
string s;
bool check (string s)
{
    string r = s;
    reverse(r . begin(), r . end());
    return r == s;
}
bool dx (string s)
{
    for(int i=0;i<s.size();++i)
    {
        rotate(s.begin(),s.begin()+1,s.end());
        if(check(s)) return true;
    }
    return false;
}
int main()
{
   cin>>tt;
   while (tt--)
   {
       cin>>s;
       cout<<(dx(s)?"YES":"NO")<<'\n';
   }
}

tdq

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

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

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

Copyright © 2021 HOCTAPSGK