当前位置:网站首页>2022杭电多校七 Black Magic (签到)
2022杭电多校七 Black Magic (签到)
2022-08-10 18:41:00 【AC__dream】

样例输入:
3
1 1 1 1
1 2 3 4
3 4 5 6
样例输出:
2 4
4 8
8 16抽象题意:多组样例,每组样例给定四个数e、l、r、b,分别代表11,01,10,00的个数,其中
11:砖块两面都是白色
01:砖块左面是黑色,右面是白色
10:砖块左面是白色,右面是黑色
00:砖块两面都是黑色的
当两块砖的相邻面都是黑色时,那么这两块砖会合成一块砖,我们按照一定顺序摆放上述砖块,问我们最少得到的砖块数和最多得到的砖块数。
分析:这是一道贪心的题目,先来说一下最少得到的砖块数量,我们尽可能的让10和01的砖块相邻,那么这样每次都能减少一个砖块,而且如果有10或者01的砖块,我们还可以把00的砖块放在一块然后再和01或者10的砖块相邻,这样00的砖块就全部消失了,我们每次都选取一个10和一个01相邻,这样就可以得到最少值了,需要注意的是00砖没有的情况,需要特殊判断一下。
下面说一下值最多的情况,这个也很简单,按照贪心的策略,我们优先把01砖放在最左边连在一起,然后把10砖放在最右边连在一起,最后中间用11砖交叉放置00砖即可,这样我们只需要讨论一下00砖数量和11砖数量的关系,如果00砖数量大于11砖数量+1,那么就会有几块00砖连在一起,否则就不会出现黑色和黑色相连的情况。
下面是代码:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
#include<queue>
#include<vector>
#include<cmath>
using namespace std;
//1E1 0L1 1R0 0B0
int main()
{
int T;
cin>>T;
while(T--)
{
int e,l,r,b;
scanf("%d%d%d%d",&e,&l,&r,&b);
int mn,mx;
if(l||r||(!b)) mn=e+l+r+b-min(l,r)-b;
else mn=e+1;
if(b>e+1) mx=e+l+r+b-(b-e-1);
else mx=e+l+r+b;
printf("%d %d\n",mn,mx);
}
return 0;
} 边栏推荐
猜你喜欢

从企业的视角来看,数据中台到底意味着什么?

弘玑Cyclone与风变科技达成战略合作:优势互补聚焦数字化人才培养

搭建自己的以图搜图系统 (一):10 行代码搞定以图搜图

Major upgrade of MSE Governance Center - Traffic Governance, Database Governance, Same AZ Priority

破解校园数字安全难点,联想推出智慧教育安全体系

『牛客|每日一题』岛屿数量

IoU、GIoU、DIoU、CIoU四种损失函数总结

云渲染的应用正在扩大,越来越多的行业需要可视化服务

Interface test advanced interface script using -apipost (pre/post execution script)

Redis persistence mechanism
随机推荐
redis 事件
人生苦短,开始用go
「POJ 3666」Making the Grade 题解(两种做法)
Interface test advanced interface script using -apipost (pre/post execution script)
一颗完整意义的LPWAN SOC无线通信芯片——ASR6601
Keras deep learning combat (17) - image segmentation using U-Net architecture
Today's bug, click on the bug that the Windows dynamic wallpaper disappears in the win10 taskbar, and no solution has been found yet.
云渲染的应用正在扩大,越来越多的行业需要可视化服务
How to choose Fengjiawei PHY62xx series?PHY6222/PHY6212/PHY6252
入门:人脸专集2 | 人脸关键点检测汇总(文末有相关文章链接)
Redis命令---key篇 (超全)
FPGA:基础入门按键控制蜂鸣器
弘玑Cyclone与风变科技达成战略合作:优势互补聚焦数字化人才培养
智能安防产品公司及产品
800. 数组元素的目标和(双指针)
[TAPL] 概念笔记
『牛客|每日一题』岛屿数量
服务器上行带宽和下行带宽指的是什么
pyspark columns merge into one row
QoS服务质量七交换机拥塞管理