tim0906s   5달 전

#include <stdio.h>
#include <stdlib.h>

int main()
{
    static long long int i, j, n, m, k, a[25][25], x, y;
    scanf("%lld %lld %lld",&n, &m, &k);
    if(k!=0)
    {
        x=k/m+1;
        y=k%m;
        a[1][1]=1;
        for(i=1;i<=x;i++)
        {
            for(j=1;j<=y;j++)
            {
                if(i==1 && j==1) continue;
                a[i][j]=a[i-1][j]+a[i][j-1];
            }
        }
        for(i=x;i<=n;i++)
        {
            for(j=y;j<=m;j++)
            {
                if(i==x && j==y) continue;
                a[i][j]=a[i-1][j]+a[i][j-1];
            }
        }
    }
    else
    {
        a[1][1]=1;
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=m;j++)
            {
                if(i==1 && j==1) continue;
                a[i][j]=a[i-1][j]+a[i][j-1];
            }
        }
    }
    printf("%lld",a[n][m]);
    return 0;
}

 

 

혹시 int 범위를 넘어갈까봐 long long int까지 썼는데 왜 않나오는

kdh9949   5달 전

y=k%m+1;로 바꿔보세요.

댓글을 작성하려면 로그인해야 합니다.