问题 A: 阿Q的记忆

时间限制: 1 Sec 内存限制: 128 MB

题目描述
阿Q登山回来,觉得山都长得一个样子。她记得某一段:她往下走了1米,再往下走了1米,然后往上走了1米,然后balabalabala……用一个包含U和D的字符串表示。U表示向上1米,D表示向下1米。她还记得全程起点的高度,终点的高度,以及她一共走了多少时间(一个单位时间内,她会使自己海拔升高或降低1米)。她知道山的任意位置的海拔都是非负的。她想知道,自己的记忆有没有自相矛盾。
输入
多组测试数据,对于每组测试数据:第一行,三个整数n,S,T,表示走的次数,起点、终点海拔;第二行,由U和D构成字符串,表示中间某一段的情况;
输出
对于每组测试数据,如果自相矛盾,输出NO,否则输出YES。
样例输入 Copy
4 0 4
UU
4 0 4
D
样例输出 Copy
YES
NO
提示
对于100%的数据n,S,T<=100000 字符串长度<=50
题意: 可以走 n n n步,起点是 s s s ,终点 t t t,给出你走的中间一段走的方式位置大于等于零 问你是否能满足条件
思路: 你先按这他给的走,如果位置小于零时,你走多走一步让你先上来,之后再走,判断步数与总步数大小,

  1. 不够肯定就不能满足条件
  2. 正好够用,就判断当前能到的位置是不是终点位置,能到可以,不能到则不满足条件
  3. 步数小于总步数,算出你走完这些步数还剩多少步可以走(还可以走的),再算出从你最后到的与终点的距离(应该走的)。然后还可以走的如果小于应该走的肯定就不行,大于则需要多出的是否是偶数,就是消耗这些多的步数。
#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4.1,sse4.2,avx,avx2,popcnt,tune=native")
#include <immintrin.h>
#pragma GCC optimize(2)
#include <map>
#include <queue>
#include <string>
#include<iostream>
#include<stdio.h>
#include<string.h>
#include <algorithm>
#include <math.h>
typedef long long ll;
typedef unsigned long long ull;
using namespace std;
typedef pair<ll,ll> pii;
#define mem(a,x) memset(a,x,sizeof(a))
#define debug(x) cout << #x << ": " << x << endl;
#define rep(i,n) for(int i=0;i<(n);++i)
#define repi(i,a,b) for(int i=int(a);i<=(b);++i)
#define repr(i,b,a) for(int i=int(b);i>=(a);--i)
const int maxn=1e5+1010;
#define inf 0x3f3f3f3f
#define sf scanf
#define pf printf
const int mod=1e9+7;
const int MOD=10007;inline int read() {int x=0;bool t=false;char ch=getchar();while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();if(ch=='-')t=true,ch=getchar();while(ch<='9'&&ch>='0')x=x*10+ch-48,ch=getchar();return t?-x:x;
}
ll n,m,p;
string str;
int main() {while(~scanf("%lld%lld%lld",&n,&m,&p)) {cin>>str;ll len=str.size();ll sum=len;for(int i=0;i<len;i++){if(str[i]=='U') m++;else m--;if(m<0) m++,sum++;///多用一次}if(sum>n){cout<<"NO"<<endl;}else if(sum==n){if(m==p) cout<<"YES"<<endl;else cout<<"NO"<<endl;}else {ll ans1=n-sum;///还有ll ans2=abs(p-m);///需要ll ans=ans1-ans2;if(ans<0) cout<<"NO"<<endl;else {if(ans%2) cout<<"NO"<<endl;else cout<<"YES"<<endl;}}}return 0;
}

问题 A: 阿Q的记忆相关推荐

  1. (三)构建模块——Web页面建设

    2019独角兽企业重金招聘Python工程师标准>>> 1.完成网页的基本过程: ①画一个粗略的草图作为页面构建的基础 ②创建HTML的基本构建模块,把草图翻译成HTML的略图 ③把 ...

  2. 【机器学习基础】时间序列测试题的40题,看看你对时间序列的了解水平

      磐创AI分享   作者 | SAURABH JAJU 编译 | Flin 来源 | analyticsvidhya 介绍 时间序列预测与建模在数据分析中起着重要的作用.时间序列分析是统计学的一个分 ...

  3. 第一章 命题逻辑(数理逻辑)

    文章目录 第一章 命题逻辑 1.1 命题与逻辑联结词 Propositional Logic 1.2 命题公式及其赋值 Application of Propositional Logic 1.3 命 ...

  4. Leetcode之跳跃游戏整理

    1306. 跳跃游戏 III 题目: 这里有一个非负整数数组 arr,你最开始位于该数组的起始下标 start 处.当你位于下标 i 处时,你可以跳到 i + arr[i] 或者 i - arr[i] ...

  5. 数值作业:Guass全选主元消去法之C语言代码

    全选主元的基本思想:当变换到第K步时,从系数矩阵的右下角(n-k+1)阶子阵中选取绝对值最大的元素,然后通过行变换与列变换将它交换到主元素a[k][k]的位置上.行变换是不影响最后求解的结果的,但是列 ...

  6. 论文解读:胶囊网络在小样本做文本分类中的应用(下)

    Dynamic Memory Induction Networks for Few-Shot Text Classification 论文提出Dynamic Memory Induction Netw ...

  7. 省常高NOIP模拟 寻梦fantasy

    [分析] 将目之所及的题面抽象出一定的模型是每个优秀的OIer的基本能力... 先提供骗分50的优秀做法,显然的是要想使每个旅者可以回到自己的家乡,整一个交通网一定是由几个环组成的.题目要求在第k天回 ...

  8. 大家记忆中的Q版泡泡堂是不是这个样子的呀!Python实现简易Q版泡泡堂小游戏!!!

    相关文件 关注小编,私信小编领取哟! 当然别忘了一件三连哟~~ 对了大家可以关注小编的公众号哟~~ Python日志 开发环境 Python版本:3.6.4 相关模块: pygame模块: 以及一些P ...

  9. 图论 ---- F. Graph Traveler 记忆化搜索 + 思维预处理(数论同余恒等式)

    题目链接 题目大意: q∈[1,1e5],n∈[1,1000],mi∈[1,10]q\in[1,1e5],n\in[1,1000],m_i\in[1,10]q∈[1,1e5],n∈[1,1000],m ...

最新文章

  1. Oracle笔记 六、PL/SQL简单语句块、变量定义
  2. 2018-3-31(Nature-Inspired metaheuristic Algoritjms Second Edition第一章)笔记-优化,寻优,元启发式算法
  3. 干货 | 100+个NLP数据集大放送,再不愁数据!
  4. 从sql中image类型字段中导出图片
  5. PHP 使用 Memcached
  6. 【P2774】方格取数问题(贪心+最大流,洛谷)
  7. MapInfo数据到ARCGIS数据Shapefile的转换
  8. 如何在Power 750上实现硬盘背板的分离
  9. CTF基础理论知识01
  10. Java中集合 练习 计算疯狂值
  11. POJ - 2774 Long Long Message(后缀数组)
  12. 前沿 | 加州理工大学什么是Imitation Learning(模仿学习)
  13. python科学计算包与matlab_做科学计算用Python还是MATLAB?
  14. 模拟器中安装和使用Drozer总结
  15. 数仓建模—建模工具PdMan
  16. java jconsole_jconsole与jvisualvm
  17. 一般python程序员的工资_【Python程序员工资|Python程序员待遇怎么样】-看准网
  18. android面试题之二(红黑联盟)
  19. 雅虎终于死了:从市值 1000 亿到贱卖 48 亿,到最后连名字都没保住
  20. 修炼程序员的职业水准

热门文章

  1. 一直激励自己的几句话
  2. 基于openMV的口罩检测
  3. 用Java写一个稍微好一点点的圣诞树
  4. 笔记 HTML - 01 HTML 概述
  5. maya包裹表情变形_Maya融合变形Blend Shape 表情动画
  6. gitHub 25.6k star 购票助手 testerSunshine/12306 安装教程(windows)
  7. SPOJ 10606 数位DP
  8. Spring(十)--Spring校验
  9. 计算机辅助教育的教学模式,计算机辅助教育教学模式教学策略
  10. javaweb+jasperreports报表+struts2