首页 > 其他分享 >1699D - Colorful Stamp

1699D - Colorful Stamp

时间:2023-06-18 12:44:07浏览次数:54  
标签:Colorful 格子 Stamp BR RB 1699D int 方格 涂色

题目链接:https://codeforces.com/problemset/problem/1669/D

题意:有n个初始为白色的方格组成一个方格串,即 WWWWW; 你可以无限次的为2个相邻的方格涂上颜色BR或RB,涂色可以覆盖。输入t串涂色了的方格串,求每个方格串是否能仅用RB和BR涂色得出。

思路:因为你无法将有颜色的格子(R,B)涂成白色(W),所以输入的方格串中的W肯定是没被涂色的,所以我们只要确定2个W之间的格子能涂成目标色就好。同时,经过试验可以发现一个规律,就是1个格子是无法涂色的,2个格子只能涂WW,RB,BR,3个格子或以上只要出现R和B就都可以涂成任意颜色。

AC代码:

//首先排除暴力枚举的做法 绝对难写+超时 一定是找规律 
//多试几次之后发现  1)全部是单色是不可能实现的 2)只要有2个颜色 而且数量在3个或以上 都可以实现 3)“W”不能上色 所以就看“W”两边的是不是有2颜色 
#include <bits/stdc++.h>
using namespace std;
int n,x,cnt,r,b,flag,f;
string a;
int main(){
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>x>>a;
        cnt=0,r=0,b=0,flag=0;
//这么写的话会出问题 就是比如WW这种能过的 会输出no 
//        if(x<3){
//            cout<<"NO"<<endl;
//            continue;
//        }
        if(x==1){
            if(a[0]=='W'){
                cout<<"YES"<<endl;
            }
            else{
                cout<<"NO"<<endl; 
            }
            continue;
        }
        if(x==2){
            if((a[0]=='W'&&a[1]=='W')||(a[0]=='R'&&a[1]=='B')||(a[0]=='B'&&a[1]=='R')){
                cout<<"YES"<<endl;
            }
            else{
                cout<<"NO"<<endl;
            }
            continue;
        }
        a=a+"W"; //为了解决RBWR这种检测不到最后一个R的情况,在结尾加上一个W 对计算是没影响的 
        x++; 
        for(int j=0;j<x;j++){
            if(a[j]=='R'){
                r=1;
                cnt++;
            }
            else if(a[j]=='B'){
                b=1;
                cnt++;
            }
            else{
                if(cnt==0){
                    continue;
                }
                if(r==0||b==0){
                    flag=1;
                    break;
                }
                cnt=0;
                r=0;
                b=0;
            }
        }
        if(flag==0){
            cout<<"YES"<<endl;
        }
        else{
            cout<<"NO"<<endl;
        }
    }
    return 0;
}

 

标签:Colorful,格子,Stamp,BR,RB,1699D,int,方格,涂色
From: https://www.cnblogs.com/cruz-fy/p/17488974.html

相关文章

  • mysql运行sql文件时,timestamp默认值出错问题解决
    出现了---Invaliddefaultvaluefor'reward_time' 直接打开sql文件,将字段reward_time类型值替换成NULL即可 ......
  • StampedLock:高并发场景下一种比读写锁更快的锁
    摘要:在读多写少的环境中,有没有一种比ReadWriteLock更快的锁呢?有,那就是JDK1.8中新增的StampedLock!本文分享自华为云社区《【高并发】高并发场景下一种比读写锁更快的锁》,作者:冰河。什么是StampedLock?ReadWriteLock锁允许多个线程同时读取共享变量,但是在读取共享变量的时候,不......
  • 解决tar命令出现“time stamp XXX in the future”的办法
    在A机器上用tar压缩的文件,在B机器上进行解包的时候,如果两个机器的时间不一致,如B机器的时间落后A机器的时间,这时就会出现timestampinthefuture的问题。如何解决这个问题呢(1)一是检查B机器的时间,如果确有问题请修改B机器的时间(sudodate-s“YYYY-MM-DDHH:MM:SS”)(2)二是使用tar......
  • Oracle 更新timestamp 类型字段
    oracle中手动更新timestamp类型的字段有两种方式,一种是创建table的时候指明可自动更新,一种是如下update脚本,通过SYSDATE获取系统当前时间,赋值给timestamp字段:UPDATEmes_tokenmsetm.TOKEN='eyJhbGciOiJIUzI1NiIsIlR5cGUiOiJKd3QiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJKWkxLIiwiZXh......
  • Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_
    MySQL版本不同导入数据时报错Incorrecttabledefinition;therecanbeonlyoneTIMESTAMPcolumnwithCURRENT_TIMESTAMPinDEFAULThttps://blog.csdn.net/weixin_43883917/article/details/112065447执行sql报错:Incorrecttabledefinition;therecanbeonlyoneTIMESTA......
  • ICMP timestamp请求响应漏洞修复
    CentOS上的ICMPtimestamp请求响应漏洞,是指当发送一个ICMPtimestamp请求报文给CentOS系统,CentOS系统会在响应时将请求报文中的时间戳字段原样返回,这样就可以计算出目标系统的时间,从而利用此漏洞。修改iptables文件vim/etc/sysconfig/iptables-AINPUT-picmp-micmp--icmp-t......
  • 2023-05-11:给你一个 m x n 的二进制矩阵 grid, 每个格子要么为 0 (空)要么为 1 (被占据), 给
    2023-05-11:给你一个mxn的二进制矩阵grid,每个格子要么为0(空)要么为1(被占据),给你邮票的尺寸为stampHeightxstampWidth。我们想将邮票贴进二进制矩阵中,且满足以下限制和要求:覆盖所有空格子,不覆盖任何被占据的格子,可以放入任意数目的邮票,邮票可以相互有重叠部分,邮......
  • 动态主题库Colorful,容易地改变App的配色方案
    Colorful是一个动态主题库,允许您很容易地改变App的配色方案在Application中初始化ColorfulpublicclassSampleAppextendsApplication{@OverridepublicvoidonCreate(){super.onCreate();Colorful.init(this);}}如......
  • pgsql根据日期查询错误:timestamp without time zone >= character varying
    最近工作中使用到pgsql数据库,使用日期传参查询时提示Causedby:org.postgresql.util.PSQLException:错误:操作符不存在:date>=charactervarying错误主要原因就是pgsql使用string类型参数去查询的话不会自动进行转换,而mysql并没有这种问题。解决方式也很简单,我们将字符串类......
  • codeforces 505B B. Mr. Kitayuta's Colorful Graph(bfs)
    题目链接:codeforces505B题目大意:给出一个有向图,边有不同的颜色,任意给出查询,查询两点能够只通过一种颜色连通的颜色的种类数。题目分析:根据不同颜色建边,bfs即可,队列维护可用的点。AC代码:#include<iostream>#include<cstring>#include<cstdio>#include<vector>#include<alg......