Trang chủ Tin Học Lớp 10 C++. Chưa nghĩ ra cách nào hay hơn Xâu đối...

C++. Chưa nghĩ ra cách nào hay hơn Xâu đối xứng là xâu có độ dài ít nhất bằng 1, và không thay đổi khi đọc từ trái sang phải hoặc từ phải sang trái. Cho một xâ

Câu hỏi :

C++. Chưa nghĩ ra cách nào hay hơn Xâu đối xứng là xâu có độ dài ít nhất bằng 1, và không thay đổi khi đọc từ trái sang phải hoặc từ phải sang trái. Cho một xâu ký tự S (chỉ gồm các chữ cái In thường) có độ dài tối đa là 5000 ký tự. Hãy tìm một xâu con liên tiếp đối xứng dài nhất của S. Input: maxpalin.inp - Dòng đầu tiên chứa số nguyên n (1 n 5000) độ dài của xâu S - Dòng thứ hai chứa xâu S chỉ gồm các chữ cái in thường Output: maxpalin.out - Đưa ra độ dài của xâu con liên tiếp đối xứng dài nhất Ví dụ: maxpalin.inp maxpalin.out 32 fhj(abgthettiyryittehtgba)yutuyioe 21 Phần đánh dấu là phần đối xứng nha

Lời giải 1 :

#include <iostream>

#include <string>

using namespace std;

int Count_str(int a, int b, string s,int len_str,int add){

 int lenght = 0;

 while (a >= 0 && b < len_str && s[a]==s[b]){

  --a;

  ++b;

  lenght += 2;

 }

 return lenght + add;

}

int main(){

 int n,max=1;cin>>n;

 string s;cin>>s;

 if (n < 3){

  if (n==2 && Count_str(0,1,s,2,0) > max){

   cout << 2;

  }

  else cout << 1;

  return 0;

 }

 for (int i = 2;i < n;++i){

  if (s[i]==s[i-2]){

   int c = Count_str(i-2,i,s,n,1);

   if (c > max) max = c;

  }

  if (s[i] == s[i-1]){

   int c = Count_str(i-1,i,s,n,0);

   if (c > max) max = c;

  }

  

 }

 cout<<max;

} Thay input bằng đọc file nhé

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 10

Lớp 10 - Năm đầu tiên ở cấp trung học phổ thông, chúng ta sẽ có nhiều bạn bè mới đến từ những nơi khác nhau. Ngôi trường mới, xa nhà hơn, mở ra một thế giới mới với nhiều điều thú vị. Hãy mở lòng đón nhận và tận hưởng những trải nghiệm mới!

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