【模拟】HHHOJ#251. 「NOIP模拟赛 伍」高精度
2024-08-23 21:14:37
积累模拟经验
题目描述
维护一个二进制数,支持如下操作
- "+" 该数加 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
最新文章
- destoon二次开发基础代码
- WPF学习之路(十二)控件(HeaderedContent控件)
- android学习笔记 activity生命周期&;任务栈&;activity启动模式
- C# List与DataTable的相互转化
- 使用Java创建RESTful Web Service
- SharePoint中修改密码的WEB Part之终极版:即可以修改AD,又可以修改本机用户密码的Web Part!!
- 国外一些知名ASP.Net开源CMS系统
- 数组MARSHALLING z
- 关于php优化的方法
- JAVA 计算地球上任意两点(经纬度)距离
- NodeJs之crypto
- 026 hibernate操作树形结构
- (1)认识javascript
- nginx cpu高排查
- JSP(5)—Session的创建以及简单使用
- C#语言————拼接、插入、替换、删除四种方法
- 关于用tesseract和tesserocr识别图片的一个问题
- (转)MyBatis+MySQL 返回插入的主键ID
- EditText自动换行显示内容
- C++语言的学习环境
热门文章
- 10.Python初窥门径(函数进阶)
- 输入apt-get update时出现Could not open lock file /var/lib/apt/lists/lock - open
- safari不支持new Date函数
- dp优化1——sgq(单调队列)
- 2017ACM/ICPC广西邀请赛 CS Course
- poj3264_Balanced Lineup
- k8s的nfs存储外挂设置过程
- Ubuntu下安装Yarm-PM2
- 宝塔面板安装的mysql5.5用命令行kill -9后启动不了
- undefined is not a function