इस ट्यूटोरियल में, हम किसी दिए गए स्ट्रिंग में सभी पैलिंड्रोमिक अनुक्रमों की संख्या को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।
इसके लिए हमें एक स्ट्रिंग प्रदान की जाएगी। हमारा कार्य उस दिए गए स्ट्रिंग में किए जा सकने वाले पैलिंड्रोमिक अनुक्रमों की संख्या ज्ञात करना है।
उदाहरण
#include<iostream> #include<cstring> using namespace std; //returning total palindromic sequence int count_palin(string str){ int N = str.length(); //creating a 2D array int cps[N+1][N+1]; memset(cps, 0 ,sizeof(cps)); for (int i=0; i<N; i++) cps[i][i] = 1; for (int L=2; L<=N; L++){ for (int i=0; i<N; i++){ int k = L+i-1; if (str[i] == str[k]) cps[i][k] = cps[i][k-1] + cps[i+1][k] + 1; else cps[i][k] = cps[i][k-1] + cps[i+1][k] - cps[i+1][k-1]; } } return cps[0][N-1]; } int main(){ string str = "abcb"; cout << "Total palindromic subsequence are : " << count_palin(str) << endl; return 0; }
आउटपुट
Total palindromic subsequence are : 6