题解 | #智乃的捉迷藏#

智乃的捉迷藏

https://ac.nowcoder.com/acm/contest/95335/F

背包dp的解法


#include <bits/stdc++.h>

using namespace std;
const int MAXN = 21;
bool dp[MAXN][MAXN][MAXN][MAXN];

int main(int argc, char *argv[])
{
    dp[0][0][0][0] = true;
    for (int i = 1; i <= 20; ++i)
    {
        for (int j = 0; j <= i; ++j)
        {
            for (int k = 0; k <= i; ++k)
            {
                for (int l = 0; l <= i; ++l)
                {
                    if (j && dp[i - 1][j - 1][k][l])dp[i][j][k][l] = true;
                    if (k && dp[i - 1][j][k - 1][l])dp[i][j][k][l] = true;
                    if (l && dp[i - 1][j][k][l - 1])dp[i][j][k][l] = true;
                    if (j && k && dp[i - 1][j - 1][k - 1][l])dp[i][j][k][l] = true;
                    if (k && l && dp[i - 1][j][k - 1][l - 1])dp[i][j][k][l] = true;
                    if (l && j && dp[i - 1][j - 1][k][l - 1])dp[i][j][k][l] = true;
                }
            }
        }
    }
    int T;
    scanf("%d", &T);
    while (T--)
    {
        int a, b, c, n;
        scanf("%d %d %d %d", &n, &a, &b, &c);
        printf(dp[n][a][b][c] ? "Yes\n" : "No\n");
    }
    return 0;
}
全部评论

相关推荐

3.21&nbsp;一面自我介绍有一个新的业务,你会怎么做?(数仓建模方式)数仓分层有什么好处介绍一下Spark的join方式(broadcast&nbsp;join,&nbsp;shuffle&nbsp;hash&nbsp;join,sort-merge&nbsp;join)shuffle&nbsp;hash&nbsp;join&nbsp;和&nbsp;sort-merge&nbsp;join&nbsp;Spark常用的join是哪个?介绍一下MapReduce的执行过程Hive&nbsp;SQL优化星型模型、雪花模型的区别及应用场景介绍项目,项目分层是如何实现的项目的ods层数据是如何得到的,dws层是如何设计的sql&nbsp;:&nbsp;1、求在线店铺的月累积销售金额&nbsp;2、求相邻在线店铺的月累积销售金额的差额sum()&nbsp;ove...
OceanRivers:感觉现在的企业是真抽象,找实习生要求要有实习经历(我要是有实习经历还要来找实习吗),这和校招招应届生的要求有啥区别,按这逻辑以后是不是毕业找工作直接要求一年以上工作经验,也不知道是现在行业卷到这地步了还是企业单纯不想花更多资源培养新人,就想着招有工作经验的牛马,入职直接酷酷工作,然后给他发实习生水平的薪资当廉价劳动力
查看18道真题和解析
点赞 评论 收藏
分享
神哥不得了:神哥来啦~1.建议不要包装,很容易问穿2.没日常也能找到暑期3.简历模板换一下,字体和版式看着好难受,而且最好压缩到一页,技术的倒数第2和3重复啦,项目建议换两个高质量的上去,如果时间够的话,八股就把高频top50的题目多巩固几遍,吃透,注意不要找假高频,这样绝对能找到暑期
点赞 评论 收藏
分享
02-18 21:55
门头沟学院 Java
拍打星:谁说的,焦虑只是一种心理状态,啥都不干也可以焦虑,不如说很多人就是因为啥都不干才导致焦虑感加重
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务