Cod sursa(job #2518629)

Utilizator ovipioOvidiu Piorescu ovipio Data 6 ianuarie 2020 04:09:58
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>
#include <iostream>
#include <string.h>
using namespace std;

ifstream fin("stiva.in");
ofstream fout("stiva.out");

size_t dp[501][501];
char sir[501];

int main()
{
    fin>>(sir + 1);

    size_t n = strlen(sir + 1);
    for(size_t i = 1; i <= n; i++) dp[i][i] = 1;

    for(size_t l = 2; l <= n; l++)
    {
        for(size_t i = 1; i <= n - l + 1; i++)
        {

            size_t j = i + l - 1;

            dp[i][j] = dp[i][j - 1] + 1;
            cout << dp[i][j] << endl;
            for(size_t k = i; k < j; k++)
            {
                if(sir[k] == sir[j])
                {
                    dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j - 1]);
                    cout << dp[i][j];
                }
            }
        }
    }

    fout<< 2*dp[1][n] + n;
}