一个简单的打表问题

#include <bits/stdc++.h>

using namespace std;

int dp[100005];
int main()
{
    int t,a,b;
    cin>>t>>a>>b;
    if(t==0){
        cout<<"Bob"<<endl;
        return 0;
    }
    for(int i = 1;i<=a;i=i+2)
        dp[i] = 1;
    for(int i = a+1;i<=t;i++)
    {
        if(dp[i-1]==0)dp[i] = 1;
        else{
            for(int j = a+1;(j<=b+1)&&(i-j>=0);j++)
                if(dp[i-j]==0){
                    dp[i]=1;
                    break;
                }
        }
    }
    if(dp[t])cout<<"Alice"<<endl;
    else cout<<"Bob"<<endl;
    
    return 0;
}

全部评论
我打表只得了20分,你满分?
点赞 回复 分享
发布于 2018-09-24 10:58

相关推荐

joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务