Codeforces Round 928 (Div. 4) F. Vlad and Avoiding X

bbb.rar_www.bbb638.cσm_www.bbb809.cσm_wwwbbb638.cσm.C0m_wwwbbb80 课程设计报告:利用单片机达到LED显示屏动态显示和远程监控的实现 立即下载

Vlad and Avoiding X

题目描述

弗拉迪斯拉夫有一个大小为 7 × 7 7 \times 7 7×7 的网格,其中每个单元格的颜色都是黑色或白色。在一次操作中,他可以选择任意一个单元格并改变其颜色(黑色 ↔ \leftrightarrow ↔ 白色)。

请找出最少需要多少次运算才能确保没有黑色单元格的对角线上的四个相邻单元格也是黑色的。

左图显示,最初有两个黑色单元格违反了条件。只要翻转一个单元格,网格就能正常工作。

输入描述

第一行输入包含一个整数 t t t ( 1 ≤ t ≤ 200 1 \leq t \leq 200 1≤t≤200 ) - 测试用例的数量。然后是测试用例的描述。

每个测试用例由 7 7 7 行组成,每行包含 7 7 7 个字符。每个字符都是 W \texttt{W} W 或 B \texttt{B} B ,分别表示白色或黑色单元格。

输出描述

对于每个测试用例,输出一个整数 - 为确保没有黑色单元格且所有四个对角线相邻单元格也是黑色所需的最少操作数。

样例输入

4
WWWWWWW
WWWWBBB
WWWWWBW
WWBBBBB
WWWBWWW
WWBBBWW
WWWWWWW
WWWWWWW
WWWWWWW
WBBBBBW
WBBBBBW
WBBBBBW
WWWWWWW
WWWWWWW
WWWWWWW
WWWWWWW
WWWWWWW
WWWWWWW
WWWWWWW
WWWWWWW
WWWWWWW
WBBBBBW
BBBBBBB
BBBBBBB
WWWWWWW
BBBBBBB
BBBBBBB
BBBBBBB

样例输出

1
2
0
5

原题

CF——传送门

代码

#include <bits/stdc++.h>
using namespace std;
#define max_Heap(x) priority_queue<x, vector<x>, less<x>>
#define min_Heap(x) priority_queue<x, vector<x>, greater<x>>
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> PII;
typedef pair<long long, long long> PLL;
const double PI = acos(-1);

char g[7][7];

struct node
{
    int x, y;
};

bool check(int valid_num) // 检查该种翻转方案是否可行
{
    for (int i = 1; i < 6; i++)
    {
        for (int j = 1; j < 6; j++)
        {
            if (valid_num != ((i + j) % 2)) // 不属于该板块的点就跳过
                continue;
            if (g[i][j] && g[i - 1][j - 1] && g[i - 1][j + 1] && g[i + 1][j - 1] && g[i + 1][j + 1]) // 一旦发现x图形,返回0,该方案不可行
                return 0;
        }
    }
    return 1;
}

bool dfs(vector<node> &v, int cnt_left, int idx, int valid_num) // v为对应板块的'B'所在的点的数组,cnt_left为剩下需要翻转的次数,idx为数组的索引,valid_num表示奇数板块还是偶数板块
{
    if (cnt_left == 0)
        return check(valid_num); // 翻转次数用完后,检查是否可行
    if (idx == v.size())         // idx遍历完数组仍未找到可行方案,返回0
        return 0;
    bool ok = 0;
    ok |= dfs(v, cnt_left, idx + 1, valid_num);     // 该点不翻转,递归下一个点
    g[v[idx].x][v[idx].y] ^= 1;                     // 翻转
    ok |= dfs(v, cnt_left - 1, idx + 1, valid_num); // 该点翻转,递归下一个点
    g[v[idx].x][v[idx].y] ^= 1;                     // 回溯
    return ok;
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int t;
    cin >> t;
    while (t--)
    {
        for (int i = 0; i < 7; i++)
        {
            for (int j = 0; j < 7; j++)
            {
                char c;
                cin >> c;
                g[i][j] = (c == 'B'); // 将'B'用1存储,便于操作,相对应的,0表示'W'
            }
        }
        // 将7X7的板块分为两个互不影响的板块
        vector<node> a, b;
        for (int i = 0; i < 7; i++)
        {
            for (int j = 0; j < 7; j++)
            {
                if (g[i][j])
                {
                    if ((i + j) % 2 == 0)
                    {
                        a.push_back({i, j}); // 加入偶数板块
                    }
                    else
                    {
                        b.push_back({i, j}); // 加入奇数板块
                    }
                }
            }
        }
        int ans = 0;
        // 最多只要翻转4个点即可令其不存在x图形
        for (int i = 0; i <= 4; i++)
        {
            if (dfs(a, i, 0, 0))
            {
                ans += i;
                break;
            }
        }
        for (int i = 0; i <= 4; i++)
        {
            if (dfs(b, i, 0, 1))
            {
                ans += i;
                break;
            }
        }
        cout << ans << '\n';
    }

    return 0;
}
qou_vq87.zip_87vq.com_www. 87vq. com 最大信噪比的独立分量分析算法,最小二乘回归分析算法,多机电力系统仿真及其潮流计算。 立即下载

相关推荐

基于ANSYS的电磁兼容仿真教程

最近,在做某系统的EMC仿真,使用ANSYS套件,对仿真学习做简要记录。本书简介与目录如下:本书配套有:视频教程+工程源文件+彩色仿真图片,下载链接如下:(审核中)第1章 基础知识1.1 电磁兼容基础​​​MS2、EMC三要素:3、 国际无线电干扰特别委员会标准:CISPR标准4、电磁兼容测试认证:传导发射(CE)、传导敏感度(CS)、辐射发射(RE)和辐射敏感度(RS)测试。

weixin_42508010的博客 2051

刚找到的一个很不错的学习网址和资源下载,都是著名大学的视频教程,

刚找到的一个很不错的学习网址和资源下载,都是著名大学的视频教程,http://www.bbb123.com/down.asp?UserID=285443希望对大家都有所帮助

jiao05272000的专栏 4253

Ollama-OCR实战:5分钟搞定PDF文档转Markdown(附qwen2.5vl模型配置)

本文详细介绍了如何利用Ollama本地部署多模态大模型qwen2.5vl,结合OCR技术,实现PDF文档到Markdown的端到端智能转换。通过解析传统OCR的局限与AI方案的优势,并提供从环境搭建、提示词工程到处理复杂表格的完整实战指南,帮助用户高效构建自动化文档处理流水线,彻底重塑文档处理工作流。

yog99的博客 604

http://www.buyredbottomshoe.com 333

She's a New Sensations contract girl and has won several AVN Awards, but who really cares about any of that To f...

1290

AtmelStudio 7 ASF库学习笔记一:新建工程、配置时钟、下载程序和查看官方例程

由于需要学习一下atmel的atsaml 系列,使用AtmelStudio 7开发,之前主要用STM32,现在看到Atmel的库函数,其实是有些类相似的。 ASF3的库对应ST的标准库。ASF4对应ST的HAL库,Ateml Start对应STM32CubeMX。但在这里还是用ASF3来开发,因为Ateml Start还不支持我的这个芯片,而且和STM32的HAL库类似,ASF4为了好移植都是底...

yxy244的博客 8655

EPLAN电气设计精华 -模拟量传感器画法全解

本文介绍了EPLAN中模拟量压力传感器的标准画法要点,重点解析了电流型(4-20mA)、电压型(0-10V/0-5V)和特定应用型三种传感器的核心特点、典型符号、接线方式及应用场景。文章提供了EPLAN设备标识符示例,并分享了一个实际项目案例(XJC-Y01-20-4M传感器配合XJC-608T-F变送器和GSEE.GXLK-AI4S-I模块的应用),强调绘制前查阅技术资料的重要性。内容简明实用,有助于规范电气设计中的传感器绘制。

Qinmingyue13的博客 1180

USACO Section 4.4 Shuttle Puzzle

开始看的时候觉得是宽搜,后来发现状态量太大了。看了一下Sample感觉有规律n = 4WWWW□BBBBWWW□WBBBBWWWBW□BBBWWWBWB□BBWWWB□BWBBWW□BWBWBBW□WBWBWBBWBW□WBWBBWBWBW□WBBWBWBWBW□BWBWBWBWB□WBWBWB□BWWBWB□BWBWWB□BWBWBW□BWBWBWBWB□WBWBWBWBBW□WBWBWBBWBW□WBWBBWBWBW□WBBWBWB□WWBBWB□BWWWBB□BWBWWWBBB□WBWWWBBBBW□

Space_midtree的专栏 156万+

coreldraw sp2精简版 x4_CorelDRAW X4下载-CorelDRAW X4 SP2 精简版_Win10镜像官网

CorelDRAW X4 SP2是一个专业图形设计软件,专用于矢量图形编辑与排版,借助其丰富的内容和专业图形设计、照片编辑和网站设计软件,您将能够随心所欲地表达自己的风格与创意,轻松创作徽标标志、广告标牌、车身贴和传单、模型绘制、插图描画、排版及分色输出等。CorelDRAW X4 SP2软件特色CorelDraw X4 相比两年前的 CorelDraw X3 加入了大量新特性,总计有50项以上,...

weixin_30346025的博客 8885

Codeforces Round 928 (Div. 4)F. Vlad and Avoiding X 二维转一维成为线性,然后dfs就可以线性暴力

当所有的都是Black时,只需要8个点就可以不出现“X”型。——题解。

JK01WYX的博客 392

YOLOv4目标检测算法——通俗易懂的解析

YOLOv4目标检测算法——通俗易懂的解析

chase 7135

基于YOLOv5的空间目标智能监测系统:航天器与太空碎片识别技术实现

做完这个项目,你会发现自己完整走过了“数据采集→标注→模型训练→功能集成→界面开发”的毕设全流程,这不仅是技术能力的证明,更是对“技术守护宇宙安全”这一理念的实践。答辩时,你可以重点讲这几点:系统解决了航天监测的哪些痛点、YOLOv5在太空目标检测中的性能优势、系统未来能怎么优化(比如对接航天监测网络、实现实时轨道预测)。未来,这个系统还能往“更智能”的方向发展:比如结合轨道计算预测碰撞风险、开发移动端APP让天文爱好者参与太空垃圾上报、在航天任务中实现全自动避障决策……想象空间很大。

m0_64661770的博客 109

Codeforces Round 928 (Div. 4)( F(dfs+小技巧),G(树上dp) )

一定是会超时的,因此我们看如何优化,会发现,坐标和为奇数与偶数的格子是互不影响的,也就是所有可能的X形状的格子,要么坐标和全是奇数,要么全是偶数,即下图中,X形状的格子要么全是蓝色,要么全是棕色。给定一棵树,树上的点要么是P,要么是S,要么是C,C可以替换成P,也可以替换成C,要求在树中加一些墙,使得任意的P跟S之间都是有墙的。如果这个题没有C的话,我们可以用并查集缩点然后建图,统计每个S点的度数即可。的网格,网格上的点不是黑色就是白色,要求修改最少的点,使得网格中没有X形状的黑色网格。

m0_74911187的博客 2314

Python 爬虫实战:豆瓣 / IMDB 电影数据抓取(评分 + 剧情 + 演员阵容结构化处理)

在数据为王的时代,电影数据是进行市场分析、推荐系统构建和学术研究的重要资源。豆瓣和 IMDB 作为国内外最具影响力的电影评分和资讯网站,包含了海量高质量的电影数据。本文将带领你从零开始,构建一个健壮的 Python 爬虫,用于抓取豆瓣和 IMDB 的电影信息,并将其中的非结构化数据(如剧情简介、演员列表)进行清洗和结构化处理,最终存储到便于分析的结构化文件(如 CSV)中。

yansideyucsdn的博客 954

Codeforces Round 928 F. Vlad and Avoiding X

棋盘的纵向为i,横向为j,当(i+j)%2==0,当前点涂为白色,当(i+j)%2==1,当前的点涂为黑色。对应白色棋盘来说,观察可以知道,如果白色棋盘出现了非法的结构,那么最多变化4次就可以让白色棋盘满足条件,黑色棋盘也是如此。多组询问,给一个7×7的棋盘,上面有W和B二种棋子,棋盘不允许B棋子的左上角,左下角,右上角,右下角也是B,可以让W变成B,也可以让B变成W,问最少的变化次数。特别的:如果遍历白色棋盘,出现非法结构,那么非法结构的棋子一定都在白色棋盘上,黑色棋盘也是。

qq_74190237的博客 744

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Codeforces Round 928 (Div. 4)(A,B,C,D,E,F,G)

Codeforces Round 928 (Div. 4)(A,B,C,D,E,F,G)

qq_45809243的博客 2528

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Codeforces Round 928 (Div. 4)

依照题目意思我们进行对20模拟,同时思考可以知道一开始我们删除了所有的奇数,奇数*奇数=奇数,那么接下来只有偶数的删除才会有用同时如果不是2的幂次的话其他偶数都是可以由奇数*偶数得到的也就是前面的偶数就已经判断过了,所以,只有2的幂次才有删除作用,接着对于2的幂次我们看有多少在其中。判断由1组合成的图形是正方形还是三角形,对于这两个图案我们发现正方形是有规律的可以考虑找到图中1的最远的四个角,如果是正方形的话里面就是都是满的也就是满足四个最大方位形成正方形的面积反之为三角形。

qq_73575281的博客 684

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Codeforces Round 928 (Div. 4)(A~E)

Codeforces Round 928 (Div. 4)(A~E)

qq_17807067的博客 592

Codeforces Round 928 G. Vlad and Trouble at MIT 【树形DP】

个人练习记录

m0_73500785的博客 1070

Codeforces Round 928 (Div. 4)A-D

思路:相当于对一个数找他二进制1-31(从右往左)的取反,但int有32位,直接取反会把第32位也取反,那么直接异或上31位的1就是(2147483647)就找到了,用map查找存不存在。对于同一组中的任意两个数x和y,对于所有1≤i<32, x2(i)≠y2(i)(二进制)对于所有1≤i<32。思路: 可以发现第i个数的数位和为a[i]= a[i/10]+i%10(O(n)),再用一个前缀和。思路:题目说不是方就是三角,如果是三角那么肯定有一个1两边都没数字。题意:统计从1到n所有的数位和。

weixin_73180592的博客 732

Codeforces Round 928(div 4) A-E

签到题。

2201_76011469的博客 248

[sicily online]1048. Inverso

Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description The game of ‘Inverso’ is played on a 3x3 grid of colored fields (each field is either black or white). Each field is numbered a

qiuchenl的专栏 1674

wwww

点击打开链接

我心如水 2121

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 222

选型笔记:Type‑C 扩展坞方案评估|DP1.4 转 HDMI2.0 桥接芯片 GSV2201S@ACP

本文记录 GSV2201S 这款 DP1.4a 转 HDMI2.0 桥接芯片评估,梳理视频、HDCP、PD 集成能力,总结 Type‑C 转接 Dongle、扩展坞方案的适配边界,以及差分走线、PD 时序、HDCP 握手等高频调试问题,为 C 口视频转接方案选型提供参考。

ACP广源盛的博客 219

C++移动构造函数详解

移动构造函数是C++11引入的一种特殊构造函数,用于从临时对象(右值)"窃取"资源来初始化新对象,而不是进行昂贵的深拷贝。char* data;public:// 移动构造函数:参数是右值引用 &&// 关键:把源对象的资源置空。

拒绝AI文,努力在AI时代写出感动人心的好文章 388

ThunderKittens 深度解析:一个不基于 MLIR 的 C++ 模板 GPU DSL

Triton 是"让更多人能写 GPU kernel",ThunderKittens 是"让会写的人写得更爽"。前者用 MLIR 换易用性,后者用 C++ 模板换可控性。它们不是替代关系,而是覆盖了 GPU 编程光谱的两端。ThunderKittens 的出现,本质上是对"GPU DSL 必须基于 MLIR"这一默认假设的挑战。编译期类型系统本身就可以是一个强大的 DSL 基础设施,不需要中间 IR,不需要黑盒 pass,也能实现 tile 级抽象和零运行时开销。

Maxwell_Newton的博客 333
上一篇: 洛谷 P3865 【模板】ST 表
下一篇: Codeforces Round 928 (Div. 4) G. Vlad and Trouble at MIT 题解 树形dp
bbc_ouo
博客等级 码龄3年 2096粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值