rock-paper-scissors
rock-paper-scissors
维护三个前缀和,然后注意顺序,最后做差来确定可行的答案,因为答案比较小,可以考虑这种暴力做法,像这种方案数可以++的题真的不多,如果想不出来特别优秀的想法,不妨简单化思维
![](/assets/blank.gif)
![](/assets/blank.gif)
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相关推荐
- 2021年度训练联盟热身训练赛第四场 H - Rock Paper Scissors(字符串匹配,FFT)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 2021年度训练联盟热身训练赛第四场 H - Rock Paper Scissors(字符串匹配,FF ...
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)...
2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...
- Python编程基础:第三十七节 石头剪刀布游戏Rock, Paper, Scissors Game
第三十七节 石头剪刀布游戏Rock, Paper, Scissors Game 前言 实践 前言 我们这一节的内容主要是对前边学习内容的一个综合应用,以石头,剪刀,布游戏为例讲解列表.随机数.用户输入 ...
- 【Codeforces 1426 E】Rock, Paper, Scissors,贪心!算反面
problem E. Rock, Paper, Scissors time limit per test1 second memory limit per test256 megabytes inpu ...
- 计蒜客A1676 Rock Paper Scissors Lizard Spock
链接 https://nanti.jisuanke.com/t/A1676 题解 每种分开算,比如我先考虑出 s c i s s o r s scissors scissors,把模式串中的所有 S ...
- CodeForces - 1426E Rock, Paper, Scissors(最小费用最大流+最大费用最大流)
题目链接:点击查看 题目大意:A 和 B 在玩石头剪刀布,A 会出 a1 次石头,a2 次剪刀,a3 次布,同理 B 会出 b1 次石头,b2 次剪刀,b3 次布,若对战顺序是可以进行决定的,问 A ...
- Problem H Rock Paper Scissors,FFT
题目 题目链接 题意 给出两段石头剪刀布的顺序SSS和T" role="presentation" style="position: relative;&quo ...
- Rock Paper将为圣地亚哥教士棒球队开发AR游戏
7月18日青亭网报道,联想.摩托罗拉,以及Rock Paper Reality,将联合圣地亚哥教士棒球队开发一款棒球主题的AR游戏. 很显然,目前高通骁龙Spaces XR开发套件就是基于上述硬件:摩 ...
- 2017ACM ICPC Asia Regional-Daejeon H-Rock Paper Scissors[ FFT]
题目大意 给你两个字符串,N,M |N|>|M|,经过转换之后,问你,连续的一段,能够匹配上的最大元素个数. n <1e5 题目分析 题目求区间内匹配数最大.考虑区间有n^2个,暴力做显然 ...
- [翻译] Ruby Golf
原文地址:http://rubysource.com/ruby-golf/ Ruby golf is the art of writing code that uses as few characte ...
最新文章
- iOS应用内跳转系统设置相关界面的方法
- debian 升级glibc
- 数据恢复,恢复丢失的数据,突破1G限制!
- Java断言(assert)
- leetcode97. 交错字符串(动态规划)
- Oracle 和Mysql Group by的细节与坑
- 鲲鹏展翅 力算未来 | openEuler操作系统源代码正式开放
- J2EE的核心API与组件
- 什么叫侧面指纹识别_屏幕指纹技术最强的3款全面屏手机,指纹识别技术手机你喜欢吗?...
- 王守臣 | 文字不灭:省的钱,分一半
- 转载:相同版本的JVM和Java应用,在 x86 和AArch64 平台性能相差30%
- 开源BI框架对比选择 Superset-Redash-Metabase
- 锚具ovm是什么意思_OVM锚具
- 机器学习实战(七):Ensemble Learning and Random Forests
- Linux MTD子系统学习(二)
- 手持「前症保障」的百惠保,号称最容易理赔的重疾险?
- maven-聚合工程
- java虚拟机开源_IBM J9 Java虚拟机正式开源
- 【如何快速搭建企业级的WAF防火墙】
- 长期戴耳机的危害有哪些?耳机种类的选择很重要