UVa 10878 Decode the tape_我叫空格_的博客-程序员宅基地

技术标签: UVa  uva  string  ascii  二进制  

题目很简单,代码也很短。第一遍做的时候,我居然二乎乎的把input里面的小框框忽略掉了,大哭,所以WA了一次。

每一行代表一个二进制的ASCII码,'o'代表1,空格代表0,中间的小黑点忽略。

我直接把一行字符串全读进去,如果字符串以下划线开头说明输入结束(字符串的处理从第2行开始)。

然后从左到右一个字符一个字符的判断,是空格直接*2,是'o'先*2后加1,最后算出的就是对应的ASCII值。

Problem A
Decode the tape
Time Limit: 1 second

"Machines take me by surprise with great frequency."

Alan Turing

Your boss has just unearthed a roll of old computer tapes. The tapes have holes in them and might contain some sort of useful information. It falls to you to figure out what is written on them.

Input
The input will contain one tape.

Output
Output the message that is written on the tape.

Sample Input Sample Output
___________
| o   .  o|
|  o  .   |
| ooo .  o|
| ooo .o o|
| oo o.  o|
| oo  . oo|
| oo o. oo|
|  o  .   |
| oo  . o |
| ooo . o |
| oo o.ooo|
| ooo .ooo|
| oo o.oo |
|  o  .   |
| oo  .oo |
| oo o.ooo|
| oooo.   |
|  o  .   |
| oo o. o |
| ooo .o o|
| oo o.o o|
| ooo .   |
| ooo . oo|
|  o  .   |
| oo o.ooo|
| ooo .oo |
| oo  .o o|
| ooo . o |
|  o  .   |
| ooo .o  |
| oo o.   |
| oo  .o o|
|  o  .   |
| oo o.o  |
| oo  .  o|
| oooo. o |
| oooo.  o|
|  o  .   |
| oo  .o  |
| oo o.ooo|
| oo  .ooo|
|  o o.oo |
|    o. o |
___________
A quick brown fox jumps over the lazy dog.


Problemsetter: Igor Naverniouk
Special thanks: BSD games ppt.


//#define LOCAL
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;

int main(void)
{
	#ifdef LOCAL
		freopen("10878in.txt", "r", stdin);
	#endif
	int i;
	char str[15], ascii;
	gets(str);
	while(gets(str) && str[0] != '_')
	{
		ascii = 0;
		for(i = 0; i < strlen(str); ++i)
		{
			if(str[i] == ' ')
				ascii *= 2;
			if(str[i] == 'o')
			{
				ascii *= 2;
				ascii += 1;
			}
		}
		printf("%c", ascii);
	}
	return 0;
}


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014491224/article/details/28247059

智能推荐

HDU 4879 ZCC loves march 【map+set+并查集】__hxh的博客-程序员宅基地

题目链接题意:在矩阵中有n个点,现有两种操作。Q x表示把x这个点所在行以及所在列的所有点都并到这个点上,并输出所有点移动距离的平方和。另外就是把某个点向某个方向移动若干位。用两个map&amp;lt;ll,set&amp;lt;ll&amp;gt;&amp;gt;map&amp;lt;ll,set&amp;lt;ll&amp;gt;&amp;gt;map 分别存每行中点的集合和每列中点的集合,再用并查集的根节点存每个点所在的集合。#inclu...

IPv6安全_hevenangel的博客-程序员宅基地

下载地址《IPv6安全》综述IPv6网络所面临的威胁,并提供应对这些威胁的解决方案,内容涵盖这些问题和当前的最佳实践。书中首先讲述安全威胁,然后描述应对这些威胁的方式,列出所有的风险,并针对每种威胁指明存在的解决方案。通过《IPv6安全》,读者将学习到攻击者可能用以攻破你的网络的技术以及如何使用Cisco的产品保护你的网络。《IPv6安全》的目的是较深入地研究协议,并从一名安全实践人员的角度讨...

JDK1.8 集合类 HashSet 源码学习_资深糖分大叔的博客-程序员宅基地

概述HashSet 继承 AbstractSet 抽象类,实现 Set、Cloneable和Serializable接口,底层的数据结构为HashMap/** * This class implements the &lt;tt&gt;Set&lt;/tt&gt; interface, backed by a hash table * (actually a &lt;tt&gt;HashM...

第一次安装win10+ubuntu双系统的经验及踩过的坑_hgmyh77的博客-程序员宅基地

第一次安装win10+ubuntu双系统的经验及踩过的坑Windows + Ubuntu 16.04 ---&gt; 双系统安装及删除工具分区制作启动u盘安装ubuntu双系统引导ubuntu系统删除第一次进入ubuntu系统的设置首要任务:更换源深度学习环境搭载内容出处:https://blog.csdn.net/flyyufenfei/article/details/79187656以下是...

app-plus导航栏_Ryeol的博客-程序员宅基地

当navigationStyle设为custom或titleNView设为false时,原生导航栏不显示

这一次,彻底搞懂SparseArray实现原理_我赌一包辣条的博客-程序员宅基地_sparsearray原理

最近在整理SparseArray这一知识点的时候,发现网上大多数SparseArray原理分析的文章都存在很多问题(可以说很多作者并没有读懂SparseArray的源码),也正因此,才有了这篇SparseArray原理的文章。我们知道,SparseArray与ArrayMap是Android中高效存储K-V的数据结构,也是是Android面试中的常客,弄懂它们的实现原理是很有必要的,本篇文章就以SparseArray的源码为例进行深入分析。一、SparseArray的类结构SparseArray可以翻译

随便推点

android GMS认证之CTS 常用命令_hfreeman2008的博客-程序员宅基地

前面的一篇文章<<CTS测试命令详细>>全面的讲解了几乎所有的CTS命令的使用,其实我们平时用的就是一些常用的几条命令而已。这篇文章我列了一下常用的CTS命令,可以不夸张的说,只要你掌握了下面的这些命令的使用,CTS的命令使用,你完全可以是得心应手。我没有骗你们噢。help查看帮忙信息exit:退出终端run cts –plan test_plan_name:进行plan为test_plan_nam

java面试基础问题 整合_李子园的梦想的博客-程序员宅基地

目录目录 11、java中Integer和int的区别? 32、java中StringBuffer和String的区别? 33、java种的线程安全和非线程安全的区别: 44、如何保证线程安全: 45、如何实现线程安全: 46、如何实现线程同步: 57、线程安全和非安全的集合: 58、单例模式: 59、工厂模式: 710、冒泡排序: 9

数组的增加函数push() 跟删除函数splice() 的简单应用, 查找some() ,some也可以顺便查索引, findIndex()专门查索引_尘埃338的博客-程序员宅基地_list.some

 add() { // 添加的方法          // console.log('ok')          // 分析:          // 1. 获取到 id 和 name ,直接从 data 上面获取           // 2. 组织出一个对象          // 3. 把这个对象,调用 数组的 相关方法,添加到 当前 data 上的 list 中        ...

Xiaojie雷达之路---EDMA Driver External Functions详解_XXXXiaojie的博客-程序员宅基地_edma驱动

文章目录getNumInstancesinitopenconfigErrorMonitoringconfigChannelstartDmaTransferisTransferCompletedisableChannel本文主要讲解为了使用驱动程序EDMA而需要调用的所有导出的APIgetNumInstances函数原型:uint8_t EDMA_getNumInstances( void) 函数功能:得到设备上EDMA实例的数量函数参数:void函数返回值:EDMA实例的数量in

基于Tensorflow和TF-Slim图像分割示例_csdn_csdn__AI的博客-程序员宅基地

原文: Upsampling and Image Segmentation with Tensorflow and TF-Slim 作者: Daniil Pakhomov 译者: KK4SBB 审校:王艺 欢迎技术投稿、约稿、给文章纠错,请发送邮件至[email protected]引言在上一篇文章里(如何用TensorFlow和TF-Slim实现图像分类与分割),我们介...

tensorflow学习 数据的拆分与拼接 tf.split() tf.concat() numpy.split() np.concatenate()_smart_hang的博客-程序员宅基地

用发如以下代码import tensorflow as tfimport numpy as npdata = np.array([ [1,2,3,4,5,6,7,8,9,0], [11,12,13,14,15,16,17,18,19,1], [21,22,23,24,25,26,27,28,29,30], [31,32,33,34,35,36,37,38,3...