积累模拟经验

题目描述

维护一个二进制数,支持如下操作

  • "+" 该数加 11
  • "-" 该数减 11
  • "*" 该数乘 22
  • "\" 该数除 22 并下取整

保证操作过程中不会出现负数

输入格式

第一行 n,m 表示原数和指令的长度

第二行 一个 01 串,从高位到低位表示一个二进制数

第三行 指令

输出格式

输出操作后的数,二进制,无前导 0


题目分析

延迟处理进退位

 #include<bits/stdc++.h>
const int maxn = ; int n,m,a[maxn<<],lens;
char s[maxn],t[maxn]; int main()
{
scanf("%d%d%s%s",&n,&m,s+,t+);
lens = n;
for (int i=; i<=n; i++) a[i] = s[i]-'';
for (int i=; i<=m; i++)
{
if (t[i]=='+') a[lens]++;
if (t[i]=='-') a[lens]--;
if (t[i]=='*') a[++lens] = ;
if (t[i]=='/'){
if (a[lens] < )
a[lens-] -= (-a[lens]+)>>;
else a[lens-] += a[lens]>>;
a[lens--] = ;
}
}
for (int i=lens; i; i--)
if (a[i] < )
a[i-] -= (-a[i]+)>>, a[i] = (-a[i])&;
else a[i-] += a[i]>>, a[i] = a[i]&;
for (int i=; i<=lens; i++) putchar(a[i]+'');
return ;
}

END

最新文章

  1. destoon二次开发基础代码
  2. WPF学习之路(十二)控件(HeaderedContent控件)
  3. android学习笔记 activity生命周期&amp;任务栈&amp;activity启动模式
  4. C# List与DataTable的相互转化
  5. 使用Java创建RESTful Web Service
  6. SharePoint中修改密码的WEB Part之终极版:即可以修改AD,又可以修改本机用户密码的Web Part!!
  7. 国外一些知名ASP.Net开源CMS系统
  8. 数组MARSHALLING z
  9. 关于php优化的方法
  10. JAVA 计算地球上任意两点(经纬度)距离
  11. NodeJs之crypto
  12. 026 hibernate操作树形结构
  13. (1)认识javascript
  14. nginx cpu高排查
  15. JSP(5)—Session的创建以及简单使用
  16. C#语言————拼接、插入、替换、删除四种方法
  17. 关于用tesseract和tesserocr识别图片的一个问题
  18. (转)MyBatis+MySQL 返回插入的主键ID
  19. EditText自动换行显示内容
  20. C++语言的学习环境

热门文章

  1. 10.Python初窥门径(函数进阶)
  2. 输入apt-get update时出现Could not open lock file /var/lib/apt/lists/lock - open
  3. safari不支持new Date函数
  4. dp优化1——sgq(单调队列)
  5. 2017ACM/ICPC广西邀请赛 CS Course
  6. poj3264_Balanced Lineup
  7. k8s的nfs存储外挂设置过程
  8. Ubuntu下安装Yarm-PM2
  9. 宝塔面板安装的mysql5.5用命令行kill -9后启动不了
  10. undefined is not a function