程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> poj 1159 Palindrome

poj 1159 Palindrome

編輯:C++入門知識

#include <iostream>
#include <string>
#define MAX 5002
using namespace std;
unsigned short array [MAX][MAX];
int main(){
int N;
cin>>N;
string input;
cin>>input;
//cout<<input<<endl;
memset(array,0,sizeof(array));
for(int i=N;i>=1;i--){
for(int j=i+1;j<=N;j++){
if(input[i-1]==input[j-1]){
array[i][j]=array[i+1][j-1];
//cout<<"equal "<<input[i-1]<<","<<input[j-1]<<"="<<array[i][j]<<endl;
}
else{
array[i][j]=1+(array[i][j-1]<array[i+1][j]?array[i][j-1]:array[i+1][j]);
//cout<<"unequal "<<input[i-1]<<","<<input[j-1]<<"="<<array[i][j]<<endl;
}
}
}
/*
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
cout<<array[i][j]<<" ";
}
cout<<endl;
}
*/
cout<<array[1][N];
return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved