Cod sursa(job #636421)

Utilizator dicu_dariaDaria Dicu dicu_daria Data 19 noiembrie 2011 19:58:00
Problema PalM Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 0.63 kb
#include <fstream>
#include <cstring>
#define max(a,b) ((a<b)?b:a)
using namespace std;
int a[502][502],i,j,n;
char el[502][502];
string s;
int main()
{
   ifstream fi("palm.in");
   ofstream fo("palm.out");
   fi>>s;
   n=s.length();
   for(i=n;i>0;i--)
   for(a[i][i]=1,el[i][i]=s[i-1],j=i+1;j<=n;j++)
   {
      if(s[i-1]==s[j-1] and s[i-1]<=el[i+1][j-1]) {
                                             a[i][j]=a[i+1][j-1]+2;
                                             el[i][j]=s[i-1];
                                             } else
      if(s[i-1]!=s[j-1]) a[i][j]=max(a[i+1][j],a[i][j-1]);
   }
   fo<<a[1][n]<<"\n";
   return 0;
}