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

梅州网站建设baidu百度查询入口

梅州网站建设baidu,百度查询入口,网站续费怎么做帐,升级的网站显示什么1.题目描述n 个砖块排成一排,从左到右编号依次为 1∼n。每个砖块要么是黑色的,要么是白色的。现在你可以进行以下操作若干次(可以是 0 次):选择两个相邻的砖块,反转它们的颜色。(黑变白&#xf…

1.题目描述

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

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

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

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

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

输入格式

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

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

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

输出格式

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

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

如果 k>0,则还需再输出一行 k 个整数,p1,p2,…,pk。其中 pi 表示第 i次操作,选中的砖块为 pipi+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

2.思路分析

这个题的结果不唯一,可以全黑也可以全白,如果无解则输出-1

因为每次反转,都是反转第i位和第i+1位,那么只需遍历到n-1位,

首先将每一位全部反转为白色,如果最后一位与第一位都是白色,那么成功

其次将每一位全部反转为黑色,如果最后一位与第一位都是黑色,那么成功

判断的代码用&&连接,前面一个判断成功就不会执行后面一个

3.Ac代码


import java.io.*;
import java.util.ArrayList;public class Main {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int t = Integer.parseInt(br.readLine());while (t-->0){int n= Integer.parseInt(br.readLine());String s=br.readLine();if(!check(s,'W') &&!check(s,'B')) System.out.println("-1");}}static  char []ss;private static boolean check(String s, char x) {ss=s.toCharArray();ArrayList<Integer> arr=new ArrayList<>();int n=ss.length;for(int i=0;i+1<n;i++){if(ss[i]!=x) {update(i);update(i+1);arr.add(i);}}if(ss[n-1]!=ss[0]) return false;System.out.println(arr.size());for (Integer a : arr) {System.out.print(a+1+" "); //操作下标从1 开始}if(arr.size()!=0)  System.out.println();return true;}private static void update(int i) {if(ss[i]=='W'){ss[i]='B';}else ss[i]='W';}
}
感谢你能看完, 如有错误欢迎评论指正,有好的思路可以交流一波,如果对你有帮助的话,点个赞支持下

http://www.dinnco.com/news/17907.html

相关文章:

  • wordpress限制站点使用时间推广策略及推广方式
  • 程序源代码下载网站网站关键词公司
  • c 网站开发 环境配置广告设计
  • 魔兽做图下载网站站长之家域名查询鹿少女
  • 做网站banner图必备的网络公司排名
  • 精品课程网站源码网络营销五种方法
  • 阿里云可以建设多个网站灰色词快速排名接单
  • 做网站的难点是什么百度推广费用预算表
  • 上海网站制作开发公司专门做排行榜的软件
  • 保定网站制作价格在百度上做广告推广要多少钱
  • 必须网站的访问量如何推广品牌
  • 策划案怎么写百度seo不正当竞争秒收
  • 建旅游网站费用明细企业邮箱怎么注册
  • 手机网站导航特效优化大师人工服务电话
  • 杭州网站设计步骤游戏推广公司靠谱吗
  • 网站权重怎么提高私密浏览器免费版
  • 我国中小企业500强正版搜索引擎优化
  • 深圳seo优化外包公司南昌seo网站管理
  • 推广做网站联系方式河北疫情最新情况
  • 做视频网站需要什么证搜索引擎优化关键词
  • 做网站不会P图怎么办焦作网站seo
  • 做和别人一样的网站中国十大网站排名
  • tk后缀网站是什么网站webview播放视频
  • 做网站建设最好学什么营销网站建设创意
  • 怎么用网站源码做网站长沙seo网站
  • 公司网站排名怎么做seo搜索引擎优化教程
  • 香港公司 网站备案b2b网站平台有哪些
  • 做装修有什么好网站可以做网站页面排名优化
  • 关于干外贸的一些好的学习网站seopc流量排行榜企业
  • 餐饮网站建设的毕设报告百度竞价推广是什么