Quantcast
Channel: CodeChef Discuss - latest questions
Viewing all articles
Browse latest Browse all 39796

Code jam problem

$
0
0

Welcome to code jam problem: https://code.google.com/codejam/contest/90101/dashboard#s=p2

I have been trying to solve this but have been unable to do so. I think my logic is correct and the dp is right but there is something wrong with my implementation. Suggestions are welcome. Thanks!

#include <iostream>
#include<stdio.h>
#include<string.h>

using namespace std;

int main() {
    int t;
    cin>>t;
    char str[51] = {"welcome to code jam"};
    str[19]='\0';  //Needed?
    while(t--)
    {
        char inp[501];
        gets(inp);
        int dp[20][501];
        for(int i = 0;i<20;i++)
        {
            for(int j =0;j<501;j++)
            dp[i][j]=0;
        }
        for(int i = 0;i<501;i++)
        {
            dp[0][i]=1;
        }
        for(int i = 0;i<20;i++)
        {
            dp[i][0]=0;
        }
        for(int i = 0;i<20;i++)
        {
            for(int j = 0;j<=strlen(inp);j++)   //Correct?
            {
                if(str[i]==inp[j])
                {
                    dp[i+1][j+1]+=dp[i][j]+dp[i+1][j];
                }else
                {
                    dp[i+1][j+1]=dp[i+1][j];
                }
            }
        }
        int u =strlen(inp);
        cout<<dp[19][u]<<endl;
    }
    return 0;
}

Viewing all articles
Browse latest Browse all 39796

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>