当前位置: 首页 > news >正文

网站查询入口化妆所有步骤

网站查询入口,化妆所有步骤,网上商城排名,包装设计网站资源作者:指针不指南吗 专栏:Acwing 蓝桥集训每日一题 🐾或许会很慢,但是不可以停下来🐾 文章目录1.砖块递推算法是一种简单的算法,通过已知条件,利用特定关系得出中间推论,逐步递推&…

作者:指针不指南吗
专栏:Acwing 蓝桥集训每日一题

🐾或许会很慢,但是不可以停下来🐾

文章目录

  • 1.砖块

递推算法是一种简单的算法,通过已知条件,利用特定关系得出中间推论,逐步递推,直到得到结果为止

1.砖块

n 个砖块排成一排,从左到右编号依次为 1∼n。

每个砖块要么是黑色的,要么是白色的。

现在你可以进行以下操作若干次(可以是 00 次):

选择两个相邻的砖块,反转它们的颜色。(黑变白,白变黑)

你的目标是通过不超过 3n 次操作,将所有砖块的颜色变得一致。

输入格式

第一行包含整数 T,表示共有 T 组测试数据。

每组数据第一行包含一个整数 n。

第二行包含一个长度为 n 的字符串 s。其中的每个字符都是 WB,如果第 i 个字符是 W,则表示第 i 号砖块是白色的,如果第 i 个字符是 B,则表示第 i 个砖块是黑色的。

输出格式

每组数据,如果无解则输出一行 −1。

否则,首先输出一行 k,表示需要的操作次数。

如果 k>0,则还需再输出一行 k 个整数,p1,p2,…,pk。其中 pi 表示第 i 次操作,选中的砖块为 pi 和 pi+1 号砖块。

如果方案不唯一,则输出任意合理方案即可。

数据范围

1≤T≤10,
2≤n≤200。

输入范围:

4
8
BWWWWWWB
4
BWBB
5
WWWWW
3
BWB

输出样例:

3
6 2 4
-1
0
2
2 1
  • 思路

    • 最后的结果可以分成两种情况:全白或者是全黑;

    • 我们操作的位置只有 n-1 种,所以不用考虑 3n 的情况;

    • 每个位置反转两次,相当于没有反转,所以我们只要考虑每个位置要不要操作就可以(0或者1);

    • 如果 i 位置和我们想要的颜色不同,则操作,否则,不,所以说每个位置的操作都是确定的;

    把每一个位置递推一下,到最后一个

    • 最后一个在前一个位置操作或者是没有操作过后,不能操作:判断一下,如果与第一个相同,则说明符合题意。
  • 代码实现

    #include<bits/stdc++.h>
    using namespace std;int n;void update(char &a)
    {if(a=='W') a='B';else a='W';
    }bool check(string s,char x)
    {vector<int> ans; //数组 ans 存操作的位置 for(int i=0;i+1<n;i++){  if(s[i]!=x){  //如果不是我们想要的,则更新update(s[i]);update(s[i+1]);ans.push_back(i);  //把操作位置放入数组中}}if(s.back()!=s[0]) return false;  //最后一个无法改变,如果与前面不同,则不能实现cout<<ans.size()<<endl;for(auto i:ans) cout<<i+1<<' ';  //输出结果return true;
    }int main()
    {int T;cin>>T;while(T--){string s;cin>>n>>s;if(!check(s,'W')&&!check(s,'B')) puts("-1");  //如果全白或者是全黑都不可以,则输出 -1;} return 0;} 
    

Alt

http://www.yayakq.cn/news/933863/

相关文章:

  • 中山网站建设推荐有哪些可以做策划方案的网站
  • 如何给网站绑定域名江苏首天建设集团网站
  • 广州做地铁的公司网站wordpress页面加载慢
  • 品牌网站建设推广网站信息优化的方式
  • wordpress增加去购买搜索引擎营销seo
  • sql数据库做的网站怎么发布ui设计培训排名
  • 建筑网站建设案例盐城有没有做公司网站
  • 域名注册最后是网站做网站挣钱吗现在
  • 免费微场景制作网站h5设计是什么
  • 广州网站建设乐云seo网页设计网站长沙
  • 网站开发需要什么配置的电脑企业标志logo
  • 咋样做网站wordpress放产品
  • 株洲外贸网站建设搜索引擎优化指的是什么
  • 网站开发常用单词无锡seo优化
  • 静态网站怎么维护开奖网站怎么做
  • 域名审核怎么做返利网站狼雨seo培训
  • 电子商务搭建网站搭建企业官网
  • 东莞做网站服务商网站设计开发方案
  • 网站建设 义乌东莞 科技 公司 网站建设
  • 注销主体备案与网站备案网络科技公司骗术
  • 360浏览器建设银行网站建设厅特种作业证件查询官网
  • 前端静态网站模板下载展会网站源码
  • wap网站微信分享代码制作相册影集软件
  • 企业网站建设jz190网站下面版权代码
  • 运营推广网站建设站群cms
  • 如何在社交网站做销售保山市城市建设网站
  • 个人网站 做导航做问答营销的网站有哪些
  • 北京网站建设制作方案给别人做的网站要复杂做安全扫描
  • 网站建设公司好做吗赣州网站建设 赣州网页设计
  • 嘉兴房地产网站建设哈尔滨网站开发制作