Submission #159933

#TimeUsernameProblemLanguageResultExecution timeMemory
159933mdn2002Mobitel (COCI19_mobitel)C++14
0 / 130
359 ms1144 KiB
#include<bits/stdc++.h>
using namespace std;
int mod=1e9+7;
int r,c,n,a[303][303],dp[303][303];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    cin>>r>>c>>n;
    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
            cin>>a[i][j];
        }
    }
    dp[0][min(a[0][0],n)]=1;
    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
            if(i==0&&j==0)continue;
            for(int z=n;z>=0;z--)
            {
                if(dp[j][z])
                {
                    int x=z*a[i][j];
                    dp[j][min(x,n)]=dp[j][z];
                    dp[j][min(x,n)]%=mod;
                }
            }
            for(int z=n;z>=0;z--)
            {
                if(dp[j-1][z])
                {
                    int x=z*a[i][j];
                    dp[j][min(x,n)]+=dp[j-1][z];
                    dp[j][min(x,n)]%=mod;
                }
            }
        }
    }
    cout<<dp[c-1][n];
}
#Verdict Execution timeMemoryGrader output
Fetching results...