rock-paper-scissors
维护三个前缀和,然后注意顺序,最后做差来确定可行的答案,因为答案比较小,可以考虑这种暴力做法,像这种方案数可以++的题真的不多,如果想不出来特别优秀的想法,不妨简单化思维

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<queue>
 4 #include<algorithm>
 5 #include<cmath>
 6 #include<ctime>
 7 #include<set>
 8 #include<map>
 9 #include<stack>
10 #include<cstring>
11 #define inf 2147483647
12 #define ls rt<<1
13 #define rs rt<<1|1
14 #define lson ls,nl,mid,l,r
15 #define rson rs,mid+1,nr,l,r
16 #define N 100010
17 #define For(i,a,b) for(int i=a;i<=b;i++)
18 #define p(a) putchar(a)
19 #define g() getchar()
20
21 using namespace std;
22 int R[1010],S[1010],P[1010];
23 int n,m;
24 int T;
25 char a[1010];
26 int cnt;
27 void in(int &x){
28     int y=1;
29     char c=g();x=0;
30     while(c<'0'||c>'9'){
31         if(c=='-')y=-1;
32         c=g();
33     }
34     while(c<='9'&&c>='0'){
35         x=(x<<1)+(x<<3)+c-'0';c=g();
36     }
37     x*=y;
38 }
39 void o(int x){
40     if(x<0){
41         p('-');
42         x=-x;
43     }
44     if(x>9)o(x/10);
45     p(x%10+'0');
46 }
47 int main(){
48     in(T);
49     while(T--){
50         cnt=0;
51         in(n);
52         cin>>(a+1);
53         For(i,1,n){
54             if(a[i]=='R'){
55                 R[i]=R[i-1];
56                 S[i]=S[i-1]-1;
57                 P[i]=P[i-1]+1;
58             }
59             if(a[i]=='S'){
60                 R[i]=R[i-1]+1;
61                 S[i]=S[i-1];
62                 P[i]=P[i-1]-1;
63             }
64             if(a[i]=='P'){
65                 R[i]=R[i-1]-1;
66                 S[i]=S[i-1]+1;
67                 P[i]=P[i-1];
68             }
69         }
70         For(i,0,n)
71             For(j,0,n)
72                 if(i+j<=n&&R[i]+P[i+j]-P[i]+S[n]-S[j+i]>0)
73                     cnt++;
74         o(cnt);p('\n');
75     }
76     return 0;
77 }

View Code

转载于:https://www.cnblogs.com/war1111/p/10387178.html

rock-paper-scissors相关推荐

  1. 2021年度训练联盟热身训练赛第四场 H - Rock Paper Scissors(字符串匹配,FFT)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 2021年度训练联盟热身训练赛第四场 H - Rock Paper Scissors(字符串匹配,FF ...

  2. 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)...

    2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...

  3. Python编程基础:第三十七节 石头剪刀布游戏Rock, Paper, Scissors Game

    第三十七节 石头剪刀布游戏Rock, Paper, Scissors Game 前言 实践 前言 我们这一节的内容主要是对前边学习内容的一个综合应用,以石头,剪刀,布游戏为例讲解列表.随机数.用户输入 ...

  4. 【Codeforces 1426 E】Rock, Paper, Scissors,贪心!算反面

    problem E. Rock, Paper, Scissors time limit per test1 second memory limit per test256 megabytes inpu ...

  5. 计蒜客A1676 Rock Paper Scissors Lizard Spock

    链接 https://nanti.jisuanke.com/t/A1676 题解 每种分开算,比如我先考虑出 s c i s s o r s scissors scissors,把模式串中的所有 S ...

  6. CodeForces - 1426E Rock, Paper, Scissors(最小费用最大流+最大费用最大流)

    题目链接:点击查看 题目大意:A 和 B 在玩石头剪刀布,A 会出 a1 次石头,a2 次剪刀,a3 次布,同理 B 会出 b1 次石头,b2 次剪刀,b3 次布,若对战顺序是可以进行决定的,问 A ...

  7. Problem H Rock Paper Scissors,FFT

    题目 题目链接 题意 给出两段石头剪刀布的顺序SSS和T" role="presentation" style="position: relative;&quo ...

  8. Rock Paper将为圣地亚哥教士棒球队开发AR游戏

    7月18日青亭网报道,联想.摩托罗拉,以及Rock Paper Reality,将联合圣地亚哥教士棒球队开发一款棒球主题的AR游戏. 很显然,目前高通骁龙Spaces XR开发套件就是基于上述硬件:摩 ...

  9. 2017ACM ICPC Asia Regional-Daejeon H-Rock Paper Scissors[ FFT]

    题目大意 给你两个字符串,N,M |N|>|M|,经过转换之后,问你,连续的一段,能够匹配上的最大元素个数. n <1e5 题目分析 题目求区间内匹配数最大.考虑区间有n^2个,暴力做显然 ...

  10. [翻译] Ruby Golf

    原文地址:http://rubysource.com/ruby-golf/ Ruby golf is the art of writing code that uses as few characte ...

最新文章

  1. iOS应用内跳转系统设置相关界面的方法
  2. debian 升级glibc
  3. 数据恢复,恢复丢失的数据,突破1G限制!
  4. Java断言(assert)
  5. leetcode97. 交错字符串(动态规划)
  6. Oracle 和Mysql Group by的细节与坑
  7. 鲲鹏展翅 力算未来 | openEuler操作系统源代码正式开放
  8. J2EE的核心API与组件
  9. 什么叫侧面指纹识别_屏幕指纹技术最强的3款全面屏手机,指纹识别技术手机你喜欢吗?...
  10. 王守臣 | 文字不灭:省的钱,分一半
  11. 转载:相同版本的JVM和Java应用,在 x86 和AArch64 平台性能相差30%
  12. 开源BI框架对比选择 Superset-Redash-Metabase
  13. 锚具ovm是什么意思_OVM锚具
  14. 机器学习实战(七):Ensemble Learning and Random Forests
  15. Linux MTD子系统学习(二)
  16. 手持「前症保障」的百惠保,号称最容易理赔的重疾险?
  17. maven-聚合工程
  18. java虚拟机开源_IBM J9 Java虚拟机正式开源
  19. 【如何快速搭建企业级的WAF防火墙】
  20. 长期戴耳机的危害有哪些?耳机种类的选择很重要

热门文章

  1. Eclipse如何导入maven项目,以及配置maven
  2. C#——文件上传(一般处理程序ashx)
  3. 一文看透 Redis 分布式锁进化史(解读 + 缺陷分析)(转)
  4. springboot自定义配置文件
  5. [置顶] Linux协议栈代码阅读笔记(一)
  6. 闲话WPF之十五(WPF的数据处理 [2])
  7. fs_struct和file_struct关系
  8. NAPI技术--在Linux 网络驱动上的应用和完善(二)
  9. javascript写坦克大战
  10. vim中taglist使用