1 solutions

  • 0
    @ 2024-7-27 20:13:59
    #include<iostream>
    using namespace std;
    int dp[105][105];
    int main()
    {
        int n,m;
        while(cin>>n>>m)
        {
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=m;j++)
                {
                    dp[i][j]=i;
                }
            }
            for(int i=1;i<=n;i++)
            {
                for(int k=1;k<=i;k++)
                {
                    for(int j=2;j<=m;j++)
                    {
                        dp[i][j]=min(dp[i][j],max(dp[k-1][j-1],dp[i-k][j])+1);
                    }
                }
            }
            cout<<dp[n][m]<<endl;
        }
        return 0;
    }
    
    • 1

    Information

    ID
    785
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    6
    Tags
    # Submissions
    25
    Accepted
    11
    Uploaded By