哎呀呀,咕值要掉光了,赶快水篇题解(

solution

这题就是个纯模拟,首先我们根据输出样例看一下输出算盘的规则。

看数最大的 720 ,我们发现,输出的算盘张这样(之所以我不用代码框而用 \(\KaTeX\) 是因为代码框是对不了齐的):

\[\begin{matrix}
O & - & | & - & O & O & O & O \\
O & - & | & O & O & - & O & O \\
- & O & | & O & O & - & O & O \\
\end{matrix}
\]

其中左面一个珠子代表 \(5\),下面一个珠子代表 \(1\),从 下往上 读。

先看最高位。

\[\begin{matrix}
- & O & | & O & O & - & O & O \\
\end{matrix}
\]

看到代表 \(5\) 的珠子是往中间拨的,有两个代表 \(1\) 的珠子也是往中间拨的,所以最高位就等于 \(5 \times 1 + 1 \times 2 = 7\)

再看十位。

\[\begin{matrix}
O & - & | & O & O & - & O & O \\
\end{matrix}
\]

代表 \(5\) 的珠子是没有往中间拨的,有两个代表 \(1\) 的珠子是往中间拨的,所以十位就等于 \(=5 \times 0 + 1 \times 2 = 2\)

最后看个位。

\[\begin{matrix}
O & - & | & - & O & O & O & O \\
\end{matrix}
\]

代表 \(5\) 的珠子没有往中间拨的,代表 \(1\) 的珠子也没有是往中间拨的,所以个位就等于 \(=5 \times 0 + 1 \times 0 = 0\)

最后相结合

\[\begin{matrix}
\text{百位} & \text{十位} & \text{个位}\\
7 & 2 & 0\\
\end{matrix}=720
\]

那我们就可以打一个表,将 \(1 \sim 10\) 算盘对应的状态打成表,最后字符串输入一位一位看即可。

Code

/*
Problem:CF363A
*/
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<string>
#define line cout << endl
using namespace std;
char n[15];
string abacus[15] =
{
"O-|-OOOO",//0
"O-|O-OOO",//1
"O-|OO-OO",//2
"O-|OOO-O",//3
"O-|OOOO-",//4
"-O|-OOOO",//5
"-O|O-OOO",//6
"-O|OO-OO",//7
"-O|OOO-O",//8
"-O|OOOO-"//9
};
int main () {
cin >> n;
int len = strlen (n);
for (int i = len - 1; i >= 0; i--) { //注意!输出是从低位到高位!
cout << abacus[n[i] - '0'] << endl;
}
return 0;
}

谢谢。

【题解】「CF363A」Soroban的更多相关文章

  1. 题解 「HDU6403」卡片游戏

    link Description 桌面上摊开着一些卡牌,这是她平时很爱玩的一个游戏.如今卡牌还在,她却不在我身边.不知不觉,我翻开了卡牌,回忆起了当时一起玩卡牌的那段时间. 每张卡牌的正面与反面都各有 ...

  2. 题解 「SCOI2016」萌萌哒

    link Description 一个长度为 $ n $ 的大数,用 $ S_1S_2S_3 \ldots S_n $表示,其中 $ S_i $ 表示数的第 $ i $ 位,$ S_1 $ 是数的最高 ...

  3. 题解 「SDOI2017」硬币游戏

    题目传送门 Description 周末同学们非常无聊,有人提议,咱们扔硬币玩吧,谁扔的硬币正面次数多谁胜利. 大家纷纷觉得这个游戏非常符合同学们的特色,但只是扔硬币实在是太单调了. 同学们觉得要加强 ...

  4. 题解 「ZJOI2018」历史

    题目传送门 Description 九条可怜是一个热爱阅读的女孩子. 这段时间,她看了一本非常有趣的小说,这本小说的架空世界引起了她的兴趣. 这个世界有 \(n\) 个城市,这 \(n\) 个城市被恰 ...

  5. 题解 「BZOJ3636」教义问答手册

    题目传送门 Description 作为泉岭精神的缔造者.信奉者.捍卫者.传承者,Pear决定印制一些教义问答手册,以满足泉岭精神日益增多的信徒.Pear收集了一些有关的诗选.语录,其中部分内容摘录在 ...

  6. 题解「BZOJ4310」跳蚤

    题目传送门 Description 现在有一个长度为 \(n\) 的字符串,将其划分为 \(k\) 段,使得这 \(k\) 段每一段的字典序最大子串中字典序最大的字符串字典序尽量小.求出这个字符串. ...

  7. 题解 「BZOJ2137」submultiple

    题目传送门 题目大意 给出 \(M,k\) ,求出 \[\sum_{x|M}\sigma(x)^k \] 给出 \(P_i\),满足 \(n=\prod_{i=1}^{n}a_i^{P_i}\),其中 ...

  8. 题解 「BZOJ2178」圆的面积并

    题目传送门 题目大意 给出 \(n\) 个圆,求它们并的面积大小. \(n\le 10^3\) 思路 如果您不会自适应辛普森法,请戳这里学习 其实我们发现,如果我们设 \(f(x)\) 表示 \(x= ...

  9. 题解 - 「MLOI」小兔叽

    小兔叽 \(\texttt{Link}\) 简单题意 有 \(n\) 个小木桩排成一行,第 \(i\) 个小木桩的高度为 \(h_i\),分数为 \(c_i\). 如果一只小兔叽在第 \(i\) 个小 ...

随机推荐

  1. lua调用dll demo

    使用的是lua5.3 DllMain.cpp 1 //生成的dll 是 lua_add53.dll 2 //luaopen_lua_add 3 extern "C" { 4 #in ...

  2. spring boot实现超轻量级网关(反向代理、转发)

    在我们的rest服务中,需要暴露一个中间件的接口给用户,但是需要经过rest服务的认证,这是典型的网关使用场景.可以引入网关组件来搞定,但是引入zuul等中间件会增加系统复杂性,这里实现一个超轻量级的 ...

  3. 腾讯云容器服务 TKE 推出新一代零损耗容器网络

    随着容器技术的发展成熟,越来越多的组件迁移到容器,在技术迁移过程中,数据库,游戏,AI 这些组件对容器网络性能(时延,吞吐,稳定性)提出了更高的要求.为了得到更优的时延和吞吐表现,各大云厂商都在致力于 ...

  4. API简介(二)

    API简介(二) API简介(一)一文中,介绍了使用API的目的.设计.发行政策以及公共API的含义,本篇主要介绍API的用法,从库和框架.操作系统.远程API.Web API四个方面展开. 库和框架 ...

  5. Linux——CentOS 7 systemctl和防火墙firewalld命令

    一.防火墙的开启.关闭.禁用命令 (1)设置开机启用防火墙:systemctl enable firewalld.service (2)设置开机禁用防火墙:systemctl disable fire ...

  6. MOOC JAVA笔记

    MOOC JAVA笔记 1.基础了解 JDK是开发人员安装的,它提供了开发java程序的必须工具 JRE是普通用户安装的,它提供了java的运行环境 JVM是java虚拟机运行程序的核心 2.程序的移 ...

  7. kali 系列学习02 - 被动扫描

    被动扫描是指目标无法察觉的情况下进行信息收集,注意有经验的渗透工程师会在信息收集上花费整个测试过程一半以上的时间,信息量太大,需要自动化的信息收集工具. 一.借鉴<kali linux2 网络渗 ...

  8. Vegas实战——如何导入导出视频

    Vegas作为一款专业的视频非编软件,在国内受到了很多用户的喜爱.小编认为,对于很多用户来说,他们选择sony vegas的一个原因是vegas在不论是从产品性能,还是使用效果上,都很容易被用户接受. ...

  9. 使用Camtasia来给视频或者图片调色

    喜欢摄影和制作视频的朋友可能知道,一张好看的照片或一段精美视频的构成要素很多,取景本身就是很重要的条件,相机的硬件水平也是一个重要因素,接下来的就是后期的编辑和处理了,而在后期处理过程中调色是十分重要 ...

  10. jQuery 第九章 工具方法之插件扩展 $.extend() 和 $.fn.extend()

    $.extend() $.fn.extend() -------------------------------------------------- $.extend() 插件扩展(工具方法) jq ...