首页
比赛
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
牛可乐的翻转游戏
5条解析
开通博客写题解
hnust_zhangshuai
发表于 2024-07-19 19:26:56
题目链接:https://ac.nowcoder.com/acm/problem/235250 题意:在一个棋盘上,每个格子摆放有一枚棋子,每一枚棋子的颜色要么是黑色,要么是白色。每次操作可以选择一枚棋子,将它的颜色翻转(黑变白,白变黑),同时将这枚棋子上下左右相邻的四枚棋子的颜色翻转(如果
展开全文
ryuuko_
发表于 2025-02-22 00:29:50
还没讲完 先记录一下目前想法 她将灯的亮暗视为灯的两种状态 记为1,0 例如 一串灯的亮暗情况为: 1010,此时我给出一种按灯的方案(1记为按下开关,0相反) 1100,那么最终的结果应该是(1010)^(1100)^(1100 >> 1)^(1100 << 1) 这是因为
展开全文
在刷题的单身狗很开心
发表于 2023-08-04 23:08:51
//采用了大佬的题解,由于移动某一枚棋子上下左右中,上只有一个,所以将当前行作为上一定能移动到想要的效果。 //但是这样的话虽然合理,但是对于第一行没有进行任何的移动,这样会失去一些情况导致失败。所以将第一行上面再加一行 //从而让第一行有枚举移动的可能性,所以对于新加的第一行需要通过状态压缩DP使
展开全文
BawiFox
发表于 2022-05-21 14:36:20
//因为每次翻转只影响了上一行的一个格子,所以对于已知的前i行的状态,翻转至我们想要的状态所需要的步数是固定的, //所以只需枚举第一行的所有状态, 递推即可; #include<bits/stdc++.h> #define ll long long #define ull
展开全文
zzhaire
发表于 2025-02-26 10:35:47
思路 这个题感觉只能枚举所有的翻转模式 但是这样明显会超时, 有 然后想了想,其实可以只枚举第一行的所有状态 然后找到一个不会影响前面行的翻转模式, 记录最少的翻转次数即可 N * M = 100 * 10 , 刚好 时间复杂度 翻转模式 : 对于上一行, 没有到位的棋子 , 逐个翻转下一行 ,
展开全文
查看本题
查看本题讨论
相关比赛
32312-算法基础精选题单补充题目
进入比赛
57778-Test2
进入比赛
59977-【200题】算法基础精选题单
进入比赛
60932-第二周训练题单
进入比赛
68901-Qlu 2023新生积分赛第三场
进入比赛
等你来战
查看全部
牛客周赛 Round 98
报名截止时间:2025-06-29 21:00
牛客小白月赛119
报名截止时间:2025-07-04 21:00
牛客周赛 Round 99
报名截止时间:2025-07-06 21:00
牛客练习赛142
报名截止时间:2025-07-11 21:30
牛客周赛 Round 100
报名截止时间:2025-07-13 21:00
2025牛客暑期多校训练营1
报名截止时间:2025-07-15 17:00
2025牛客暑期多校训练营2
报名截止时间:2025-07-17 17:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题