답안 #159888

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
159888 2019-10-25T09:37:09 Z mdn2002 Mobitel (COCI19_mobitel) C++14
0 / 130
68 ms 65540 KB
#include<bits/stdc++.h>
using namespace std;
int mod=1e9+7;
int r,c,n,a[303][303],dp[303][303][303],all[303][303];
int f(int x,int y,int p)
{
    if(p>=n)return all[x][y];
    if(x==r-1&&y==c-1)return 0;
    if(x>=r||y>=c)return 0;
    if(dp[x][y][p]!=1)return 0;
    long long ans=0;
    ans+=f(x+1,y,p*a[x+1][y]);
    ans%=mod;
    ans+=f(x,y+1,p*a[x][y+1]);
    ans%=mod;
    return ans;
}
bool fuck(int x,int y,int p)
{
    if(p>=n)return 1;
    if(x==r-1&&y==c-1)return 0;
    if(dp[x][y][p]!=-1)return dp[x][y][p];
    bool t=false;
    if(x!=r-1)t=max(t,fuck(x+1,y,p*a[x+1][y]));
    if(y!=c-1)t=max(t,fuck(x,y+1,p*a[x][y+1]));
    return dp[x][y][p]=t;
}
int d(int x,int y)
{
    if(x==r-1&&y==c-1)return all[x][y]=1;
    if(x>=r||y>=c)return 0;
    if(all[x][y]!=-1)return all[x][y];
    long long ans=0;
    ans+=d(x+1,y);
    ans+=d(x,y+1);
    return all[x][y]=ans;
}
int main()
{
    memset(all,-1,sizeof all);
    memset(dp,-1,sizeof dp);
    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++)scanf("%d",&a[i][j]);
    }
    fuck(0,0,a[0][0]);
    d(0,0);
    cout<<f(0,0,a[0][0]);
}

Compilation message

mobitel.cpp: In function 'bool fuck(int, int, int)':
mobitel.cpp:26:23: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
     return dp[x][y][p]=t;
            ~~~~~~~~~~~^~
mobitel.cpp: In function 'int main()':
mobitel.cpp:48:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         for(int j=0;j<c;j++)scanf("%d",&a[i][j]);
                             ~~~~~^~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 68 ms 65540 KB Execution killed with signal 9 (could be triggered by violating memory limits)
2 Runtime error 63 ms 65540 KB Execution killed with signal 9 (could be triggered by violating memory limits)
3 Runtime error 65 ms 65540 KB Execution killed with signal 9 (could be triggered by violating memory limits)
4 Runtime error 68 ms 65540 KB Execution killed with signal 9 (could be triggered by violating memory limits)
5 Runtime error 59 ms 65540 KB Execution killed with signal 9 (could be triggered by violating memory limits)
6 Runtime error 64 ms 65540 KB Execution killed with signal 9 (could be triggered by violating memory limits)
7 Runtime error 63 ms 65540 KB Execution killed with signal 9 (could be triggered by violating memory limits)
8 Runtime error 58 ms 65536 KB Execution killed with signal 9 (could be triggered by violating memory limits)
9 Runtime error 65 ms 65540 KB Execution killed with signal 9 (could be triggered by violating memory limits)
10 Runtime error 60 ms 65536 KB Execution killed with signal 9 (could be triggered by violating memory limits)