原题链接

题目大意:

给出一串由'R', 'G', 'B'组成的长度为n的字符串,在里面选出一个长度为k的子串,要求在改变最少字符的情况下同时也是"RGBRGBRGB…"的子串。

思路:
简单版本测试数据范围小,可以直接暴力。

有三种匹配情况(分别以'R', 'G', 'B'开始),如果不匹配则改变次数+1,每次匹配完都更新一次最小值。

代码:

 1 #include <iostream>
 2
 3 using namespace std;
 4
 5 int q, n, k, mmin;
 6 char ori[3] = {'R', 'G', 'B'};
 7 char s[2002];
 8
 9 int My_Min(int a, int b)
10 {
11     return a>b?b:a;
12 }
13
14 int main()
15 {
16     cin >> q;
17
18     for (int i = 1; i <= q; i++)
19     {
20         cin >> n >> k;
21         mmin = 20000;
22         for (int j = 1; j <= n; j++)
23         {
24             cin >> s[j];
25         }
26
27         for (int j = 1; j <= n-k+1; j++)
28         {
29             int num[4] = {0};
30             for (int t = 0; t < k; t++)
31             {
32                 if (s[j+t] != ori[t%3])
33                 {
34                     num[1]++;
35                 }
36                 if (s[j+t] != ori[(t+1)%3])
37                 {
38                     num[2]++;
39                 }
40                 if (s[j+t] != ori[(t+2)%3])
41                 {
42                     num[3]++;
43                 }
44             }
45             mmin = My_Min(My_Min(mmin, num[1]), My_Min(num[2], num[3]));
46         }
47         cout << mmin << endl;
48     }
49     return 0;
50 }

转载于:https://www.cnblogs.com/liyishan/p/11257520.html

CodeForce-1196D1-RGB Substring (easy version)相关推荐

  1. [题解]RGB Substring (hard version)-前缀和(codeforces 1196D2)

    题目链接:https://codeforces.com/problemset/problem/1196/D2 题意: q 个询问,每个查询将给你一个由 n 个字符组成的字符串s,每个字符都是 &quo ...

  2. Codeforces 1196D RGB Substring

    (easy version) https://codeforces.com/contest/1196/problem/D1 (hard version) https://codeforces.com/ ...

  3. D1. Kirk and a Binary String (easy version)

    题目链接:http://codeforces.com/contest/1204/problem/D1 D1. Kirk and a Binary String (easy version) time ...

  4. CodeForces - 1543D1 RPD and Rap Sheet (Easy Version)(异或+交互)

    题目链接:点击查看 题目大意:交互题猜密码,设原密码为 xxx,猜的密码为 yyy,如果没猜到,密码会自适应变成 zzz,满足 x⊕z=yx \oplus z=yx⊕z=y ,最多猜 nnn 次 题目 ...

  5. PTA 06-图2 Saving James Bond - Easy Version (25分)

    题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/672 5-10 Saving James Bond - Easy Version   ( ...

  6. Codeforces Round #579 (Div. 3) F1. Complete the Projects (easy version) 排序 + 贪心

    传送门 文章目录 题意: 思路: 题意: 思路: 比较直观的想法就是对于bi≥0b_i\ge0bi​≥0的项目,我们将aia_iai​从小到大排序,让后依次加bib_ibi​,如果有取不到的,显然就无 ...

  7. CF1497E1 Square-free division (easy version)

    CF1497E1 Square-free division (easy version) 题意: 这是简单版,此题中 k=0 给出一串长为 n 的序列 a1,a2,a3...ana_1,a_2,a_3 ...

  8. 1560F1. Nearest Beautiful Number (easy version)

    F1. Nearest Beautiful Number (easy version) 预处理加二分 #include <bits/stdc++.h> using namespace st ...

  9. 1282B1. K for the Price of One (Easy Version)

    B1. K for the Price of One (Easy Version):题目 两种情况,前面取一或者前面不取 #include <bits/stdc++.h> using na ...

最新文章

  1. 面试官:聊一聊 Spring Boot 服务监控机制
  2. 淘宝从几百到千万级并发的十四次架构演进之路!
  3. Intel Realsense D435 测试视频流的直方图均衡化
  4. 上传图片之上传前判断文件格式与大小
  5. JNI中的内存管理(转)
  6. Minimal Square CodeForces - 1360A(简单思维和图形判断)
  7. 国际:如何识别真正的程序员
  8. 浏览器获取CA认证流程
  9. JavaWeb — 获取复选框的值时,要注意不是得到显示的值,而是得到value值
  10. xadmin获取mysql_Django2集成xadmin详解-5-获取登录用户信息并填充相应Model字段
  11. 黑马程序猿————OC在Foundation框架结构和字符串
  12. C++时间类型详解( time_t 和 tm )
  13. GAN的评价图像评价指标(IS和FID)
  14. 开源项目9GAG源码解析与Material改造(一)
  15. 老生常谈:frame和Bounds的区别
  16. lol人物模型提取(七)
  17. java画五角星_java 画五角星 填充五角星
  18. laydate时间控件 (开始日期、结束日期)
  19. 6-3 电子书表格展示
  20. STM32L051低功耗STOP模式串口中断唤醒

热门文章

  1. 【Java】基于jsoup爬虫实现(从智联获取工作信息)
  2. 如何设置Ubuntu中不存在的分辨率
  3. 小白入门多路高速(8x8bitsx100Msps)AD驱动设计专栏启动预告
  4. php微信小程序毕业设计 php家政服务预约小程序毕业设计开题报告功能参考
  5. 用python画一个简单的等边三角形
  6. word里输入摄氏度符号几种方法
  7. 华三路由器做端口映射配置
  8. pg_dump转移数据操作步骤及常用命令;
  9. SI-SourceInsight如何设置字体大小
  10. 2022-2028全球与中国防晒粉市场现状及未来发展趋势