Pipes【Codeforces 1234 C】【思维】

2023-11-19

Codeforces Round #590 (Div. 3) C


  此题无坑,自己挖坑!

  本来比赛中应该A的代码,就因为我在N==1的时候加了一组特判,然后一直就WA2,后来发现Test 2是强数据,而我一直在怀疑我的思维错了,就一直没交了,最后这道1400分的题,赛后把那行给删了之后就过了……哎

  这道题,我们可以把序号1、2的看成是一样的,再把序号3、4、5、6看成是一样的,所以在这里我看成了1号整体与2号整体。

  然后,其实我们不难发现,路径是唯一的,也就是说我们的走法是唯一的,我们只需要判断下一步是不是还可以走就可以了。还有到达终点的过程。

#include <iostream>
#include <cstdio>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
#include <limits>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#define lowbit(x) ( x&( -x) )
#define pi 3.141592653589793
#define e 2.718281828459045
#define INF 0x3f3f3f3f
#define efs 1e-7
#define HalF (l + r)>>1
#define lsn rt<<1
#define rsn rt<<1|1
#define Lson lsn, l, mid
#define Rson rsn, mid+1, r
#define QL Lson, ql, qr
#define QR Rson, ql, qr
#define myself rt, l, r
#define MP(a, b) make_pair(a, b)
using namespace std;
typedef unsigned long long ull;
typedef unsigned int uit;
typedef long long ll;
const int maxN = 2e5 + 7;
int N, dir[3][maxN];
char op[3][maxN];
inline bool dfs(int x, int y, int las_op, int lx, int ly)
{
    if(x == N + 1 && y == 1) return true;
    if(x > N || y > 2 || y < 1) return false;
    if(dir[y][x] == 1)
    {
        if(lx == x) return false;
        return dfs(x + 1, y, 1, x, y);
    }
    else
    {
        if(lx == x) return dfs(x + 1, y, 2, x, y);
        else return dfs(x, 3 - y, 2, x, y);
    }
}
int main()
{
    int T; scanf("%d", &T);
    while(T--)
    {
        scanf("%d", &N);
        for(int i=2; i>=1; i--) scanf("%s", op[i] + 1);
        for(int i=1; i<=2; i++)
        {
            for(int j=1; j<=N; j++)
            {
                if(op[i][j] <= '2') dir[i][j] = 1;
                else dir[i][j] = 2;
            }
        }
//        if(N == 1)
//        {
//            if(dir[1][2] == 2 && dir[1][1] == 2) printf("YES\n");
//            else printf("NO\n");
//            continue;
//        }
        bool flag;
        if(dir[2][1] == 1) flag = dfs(2, 2, 1, 1, 2);
        else flag = dfs(1, 1, 2, 1, 2);
        printf(flag ? "YES\n" : "NO\n");
    }
    return 0;
}
/*
1
7
3126246
2334263
NO
1
7
4211256
6254232
NO
 */

 

那组注释,血亏啊!!!QAQ涨了8分嘻嘻嘻~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pipes【Codeforces 1234 C】【思维】 的相关文章

  • 【每日一题】ABC194E-Mex Min

    题目内容 原题链接 给定一个长度为 n n n 的整数数组 a a a 求所有长度为 m m
  • 【每日一题】ABC194E-Mex Min

    题目内容 原题链接 给定一个长度为 n n n 的整数数组 a a a 求所有长度为 m m
  • Olya and Energy Drinks【Codeforces 877D】【BFS+思维+剪枝】

    Codeforces Round 442 Div 2 D 这天给学弟学妹们出了这道题 没想到背锅了 感觉要0A了 QAQ 确实 今天我再次写的时候也WA了好几发 哎 这锅背了 看到有些的代码code 访问过的点都标记为mp x y 但是这样
  • Best Binary String

    Best Binary String 题意 给一个包含0 1 的字符串 可以换成0或1 要求换完之后使得成本最小 二进制字符串的成本定义为按非降序对字符串进行排序所需的 反转字符串的任意连续子字符串 形式的最小操作数 思路 因为每次操作是反
  • Sum It Up HDU - 1258【DFS】

    Given a specified total t and a list of n integers find all distinct sums using numbers from the list that add up to t F
  • Say No to Palindromes

    Say No to Palindromes 题意 给一个长度为n的字符串 只包含abc三种字符 现在有m次询问 每次询问给出l r 问l r需要操作几次使得其不包括长度大于等于2的回文子串 每次操作可以改变一个字符 当然 只能在abc三种字
  • Tempter of the Bone【DFS+奇偶剪枝】scanf会WA!!!

    题目链接HDU1010 多好的一道题 交scanf会WA cin一发过 我WA了30 次 惊是这样的BUG 我就说我推的公式怎会错呢 如果有字体缩小的方式 我要把上面那行缩小些 先看大家WA 可真是一道有趣的题目 首先 有这样的图推出奇偶剪
  • V字钩爪。

    题目链接 题解 分块 就是有一些点之间是永远没有交集的 因为每一个点只与前面第k个元素以及后面那k个元素有关 所以我们应该把那些出现矛盾的点放到一起 然后进行讨论 下面是AC代码 include
  • Bracket Coloring

    Bracket Coloring 题意 给出一个括号序列 定义漂亮序列为匹配括号序列或者反转之后是匹配括号序列的序列 现在要求染色 使得相同颜色的括号组成漂亮序列 问最少需要多少种颜色即每个括号染的颜色 思路 这里可以用栈来匹配括号序列 因
  • Maximum Diameter Graph 【CodeForces - 1082D】【搜索+构造】

    题目链接 一开始忘记输出有多少条边 WA了好几发都跑不过第一组测试样例 开始怀疑自己是不是读了道假题 然后在大佬们的帮助下 终于AC 好伤心 读假样例 一定是我太弱了 我的思想是采用了树链剖分的dfs 构造思想 可能是因为最近少用了树链剖分
  • 【每日一题】补档 ABC308E - MEX

    题目内容 原题链接 给定一个长度为 n n n 的数组 a a a 一个长度为 n n
  • 璀璨光滑【牛客】【题意解析+BFS+贪心】

    题目链接 中文题意 表面平静 实则暗藏玄机 而打开本题的突破口 也确确实实就在于题目的描述 也就是说 这张图的边的数目是确定的 并且这是一张连通图 而且图上的个点每个点连接出去的边的数目都是条 因为每个数都刚好只与个数在二进制位上差1 那么
  • [机缘参悟-92]:《天道》之人生的五种思维觉醒

    目录 前言 一 本质思维 化繁为简 二 成长思维 自我迭代 三 矛盾思维 知己知彼 四 创新思维 见路不走 五 系统思维 顺应天道 前言 一个人的没一次觉醒 是一种发自内心的恍然大悟 醍醐灌顶 遮盖心灵的那层迷雾瞬间消失 豁然开朗的感觉 一
  • 【2019年ICPC南昌网络赛】Distance on the tree【DFS+线段树合并(可持久化线段树)】

    题目链接 DSM Data Structure Master once learned about tree when he was preparing for NOIP National Olympiad in Informatics i
  • 思维的特点和缺陷

    人类总是喜欢歌颂自己的大脑 比如 思想的威力 逻辑的威力 数学的威力 数学来自于思考 科学的威力 科学来源于思考 还有 意识 这个 人类与动物最大的区别 i blah blah 不过 几乎没有人关心过这种想法究竟来自于人体的哪个器官 心理学
  • PowerOJ2512: 小红灌溉【染色】

    题目链接 划重点 每个有菜的点只能浇一次且恰好一次 所以意思就是 譬如某个菜的位置是 x y 那么 行x 列y的浇水方案只能使用其中的一个 以此类推 我们给每个有蔬菜的位置的 x y 的x点与y点链接一条无向边 代表x和y只能选择其中的一个
  • LeetCode-11

    11 盛最多水的容器 给你 n 个非负整数 a 1 a 2
  • 如何高效率提出问题?

    前言 我们总是对自己 不太熟悉 的东西 但是又迫切想知道其答案 所以总是 匆匆 的像他人提出问题 然而 我们发现一个现象 为什么大多数时候 我的问题总是很少引起别人的兴趣 言外之意是 我总是不能在 短时间 的得到一个 正确的答案 本篇根据笔
  • 每日一题:序列操作

    序列操作 题目 Daimayuan Online Judge 没啥思路 如果暴力的话肯定会超时 太难了太难了 参考了题解想了好久才弄懂 该题是思维题 操作1是将第x个数变为y 输入的时候就可以修改值了 毕竟只要一个语句就行 每次操作都是将x
  • [思维模式-8]:《如何系统思考》-4- 认识篇 - 什么是系统思考?系统思考的特征?系统思考的思维转变。

    目录 第1章 系统思考概述 1 1 什么是系统思考 1 2 系统思考适合解决什么样的问题 解决复杂问题的有效利器 1 3 思维模式的转换 还原论向整体论 西医向中医 第2章 系统思考的四项特征 2 1 看到全貌而非局部 2 2 看透结构而非

随机推荐

  • CSDN城市开发者联盟、C友会期待你的加入

    文章目录 课前小差 chatGPT CSDN中的持续学习 23年原力计划 C友会 CDC 如何关联本地的开发者 写在最后 课前小差 哈喽 大家好 我是几何心凉 这是一份全新的专栏 唯一得到CSDN王总的授权 来对于我们每周四的绿萝时间 直达
  • matlab 改变图片的长宽,Matlab怎么调整图片的大小,使它成为特定的长宽

    满意答案 whymhm 推荐于 2017 12 15 采纳率 53 等级 6 已帮助 2557人 一般而言 只需对目标图像进行图形句柄对象和坐标轴句柄对象进行操作即可 MATLAB中分别用gcf和gca表示 如 set gcf unit c
  • 转载:Beginning WF 4.0翻译——第一章(创建一个简单的工作流)续二

    关于工作流设计器 即使是很简单的工作流设计 你可能都很难去观看整个工作流图形 幸运的是 设计器有一些非常有用的工具区帮助我们在一个大的工作流上去工作 在设计器的右上角 点击Collapse 收缩 链接 工作流图会如图Figure1 20所示
  • C语言编写图形界面

    文章目录 环境 配置环境 使用库 基础概念 句柄 程序的入口 创建窗口 定义窗口类 注册窗口类 创建窗口 完整代码 运行效果 环境 使用的是VSCode MinGW 配置环境 VSCode写C语言的环境就不讲了 就说一下本篇文章编译的条件吧
  • 复习Ajax

    ajax简介 ajax全称为Asynchronous JavaScript And XML 就是异步的js和XML ajax不是一个新的编程语言 而是一种将现有的技术组合在一起使用的新方式 ajax特点 通过ajax可以在浏览器中向服务器发
  • ubuntu CMake中的set指令详解

    遇到一个CmakeList txt里面出现的一行 SET WORKSPACE DIR ENV HOME workspace 不知道这个 ENV HOME 到底指的什么路径 查阅了一些资料 也没能理解 只知道是cmake文件独有的路径赋值方式
  • mysql中or详细使用方式(Mysql之and和or混合使用) MES

    mysql中or详细使用方式 Mysql之and和or混合使用 在mysql中 经常会遇到这样的情况 在写条件语句where时 可能会同时有多个条件的 或 或者 与 但经常会达不到效果 经百度 本人发现一个where语句中同时出现条件的 与
  • 两台电脑通过网线共享文件

    参考博客 https blog csdn net qq 38161654 article details 80865241 谢谢 1 用一根网线把两台电脑连接起来 2 关闭两台电脑的防火墙 具体操作如下 Windows Defender 防
  • 华为OD机试 Java 实现【扑克牌大小】【牛客练习题 HJ88】,附详细解题思路

    一 题目描述 扑克牌游戏大家应该都比较熟悉了 一副牌由54张组成 含3 A 2各4张 小王1张 大王1张 牌面从小到大用如下字符和字符串表示 其中 小写joker表示小王 大写JOKER表示大王 3 4 5 6 7 8 9 10 J Q K
  • pytorch 卸载_windows安装cuda和cudnn以及pytorch+卸载

    查看cuda版本号 1 首先需要进入pytorch官网查看一下需要安装的pytorch版本适配的cuda版本号 网址如下所示 PyTorch pytorch org 如图所示 官网默认显示最新版本的PyTorch 点击下面的链接 可以安装一
  • HIT-ICS2022大作业(程序人生-Hello’s P2P)

    计算机系统 大作业 题 目 程序人生 Hello s P2P 专 业 计算机科学与技术 学 号 班 级 学 生 指 导 教 师 计算机科学与技术学院 2022年5月 摘 要 一个简单的Hello程序 其生命周期的整个P2P与020过程需要计
  • 阿里云,腾讯云,翼讯云等新买服务器磁盘不显示,挂载磁盘

    新买了一台翼讯的云主机 200G的硬盘 连接以后df h 查看磁盘只有系统盘 这时可以fdisk l 查看所有磁盘 这时应该进行磁盘三部曲 分区 格式化 挂载 分区 fdisk dev xvdb 这里的操作只分一个区 按n 按p 按1 按回
  • 剑指offer40

    class Solution public void FindNumsAppearOnce vector
  • 单片机编程:软件定时器

    单片机软件在没有RTOS的情况下 可使用 软件定时器 Timer 它的作用类似OS的线程 从而大大简化程序设计 提高代码质量 软件定时器 设置函数的基本参数 定时时长 回调函数 指针 序号 内容 1 定时时长 interval ms 2 回
  • MCMC抽样算法要点总结

    MCMC抽样算法 目的 给定一个已知的概率分布函数 p x 对随机变量 x 进行采样 使其满足 p x 概率分布 原理 一个马尔科夫链 对应的概率转移矩阵为 P 如果其具有 非周期性 且任意两个状态之间都是 连通 的 则不论初始的状态概率分
  • 1000以内的所有回文数

    02 程序的版权和版本声明部分 03 Copyright c 2013 烟台大学计算机学院 04 All rights reserved 05 文件名称 test cpp 06 作 者 马德鹏 07 完成日期 2013 年11月18日 08
  • JavaWebSSM-购物商城系统(idea可用)

    软件工程课程设计 毕业设计之购物商城系统代码 基于javaSSM的购物商城系统 基于Thymeleaf的商品销售平台代码 前言 本次文章主要是介绍蛋糕商城系统的功能 系统分为两个角色 管理员 用户 一 系统功能 1 1 开发环境 开发语言
  • STM32 用cubemx移植IAP功能,实现串口升级

    感谢网上的大神 通过你们的文章我终于测试iap升级通过了 具体iap功能我白嫖一段 程序上电先进入 bootloader代码功能 后面通过bootloader跳转到用户的功能代码中 使用的开发板芯片 STM32F103VET6 串口1升级
  • 手动更新(rpi-update)树莓派固件

    手动更新 rpi update 树莓派固件 1 下载固件 本地更新 先在 PC 上下载固件 也可以用如下方法下载 curl L https github com Hexxeh rpi firmware archive master tar
  • Pipes【Codeforces 1234 C】【思维】

    Codeforces Round 590 Div 3 C 此题无坑 自己挖坑 本来比赛中应该A的代码 就因为我在N 1的时候加了一组特判 然后一直就WA2 后来发现Test 2是强数据 而我一直在怀疑我的思维错了 就一直没交了 最后这道14