#include <iostream>
#include <algorithm>
#include <string>
#define MAXN 27
using namespace std; struct node
{
int len;
string s;
};
char fun(string s);
node _node[MAXN];
int n[]; int main()
{
int time = ;
//freopen("acm.acm","r",stdin);
int i;
_node[].len = ;
_node[].s = ".-";
_node[].len = ;
_node[].s = "-...";
_node[].len = ;
_node[].s = "-.-.";
_node[].len = ;
_node[].s = "-..";
_node[].len = ;
_node[].s = ".";
_node[].len = ;
_node[].s = "..-.";
_node[].len = ;
_node[].s = "--."; _node[].len = ;
_node[].s = "....";
_node[].len = ;
_node[].s = "..";
_node[].len = ;
_node[].s = ".---";
_node[].len = ;
_node[].s = "-.-";
_node[].len = ;
_node[].s = ".-..";
_node[].len = ;
_node[].s = "--";
_node[].len = ;
_node[].s = "-."; _node[].len = ;
_node[].s = "---";
_node[].len = ;
_node[].s = ".--.";
_node[].len = ;
_node[].s = "--.-";
_node[].len = ;
_node[].s = ".-.";
_node[].len = ;
_node[].s = "...";
_node[].len = ;
_node[].s = "-";
_node[].len = ;
_node[].s = "..-";
_node[].len = ;
_node[].s = "...-";
_node[].len = ;
_node[].s = ".--";
_node[].len = ;
_node[].s = "-..-";
_node[].len = ;
_node[].s = "-.--";
_node[].len = ;
_node[].s = "--.."; int test;
string _s;
string s;
// int i;
cin>>test;
while(test --)
{ cin>>s;
_s = "";
for(i = ; i < s.length(); ++ i)
{
if(s[i] >= 'A' && s[i] <= 'Z')
{
_s += _node[s[i]-'A'].s;
n[i] = _node[s[i]-'A'].len;
}
else if(s[i] == '_')
{
_s += "..--";
n[i] = ;
}
else if(s[i] ==',')
{
_s += ".-.-";
n[i] = ;
}
else if(s[i] == '.')
{
_s += "---.";
n[i] = ;
}
else if(s[i] == '?')
{
_s += "----";
n[i] = ;
}
}
reverse(n,n+s.length());
// for(i = 0; i < s.length(); ++ i)
// {
// cout<<n[i]<<" ";
// }
// cout<<s<<endl;
// cout<<_s<<endl;
// cout<<endl;
cout<<++ time<<": ";
int j = ;
for(i = ; i < _s.length();)
{
string k;
k = _s.substr(i,n[j]);
i += n[j ++];
//cout<<k<<endl;
// cout<<(char)(fun(k)+'A');
// cout<<k<<" ";
cout<<fun(k);
}
cout<<endl;
}
} char fun(string s)
{
int i;
if(s == "..--")
{
return '_';
}
else if(s == ".-.-")
{
return ',';
}
else if(s == "---.")
{
return '.';
}
else if(s == "----")
{
return '?';
} for(i = ; i < MAXN; ++ i)
{
if(_node[i].s == s)
{
return char('A'+i);
}
}
}

关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。

技术网站地址: vmfor.com

POJ 1051的更多相关文章

  1. POJ 1051 Jury Compromise ——(暴力DP)

    题目不难,暴力地dp一下就好,但是不知道我WA在哪里了,对拍了好多的数据都没找出错误= =.估计又是哪里小细节写错了QAQ..思路是用dp[i][j]表示已经选了i个,差值为j的最大和.转移的话暴力枚 ...

  2. HDU ACM 1051/ POJ 1065 Wooden Sticks

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  3. POJ题目排序的Java程序

    POJ 排序的思想就是根据选取范围的题目的totalSubmittedNumber和totalAcceptedNumber计算一个avgAcceptRate. 每一道题都有一个value,value ...

  4. POJ 题目分类(转载)

    Log 2016-3-21 网上找的POJ分类,来源已经不清楚了.百度能百度到一大把.贴一份在博客上,鞭策自己刷题,不能偷懒!! 初期: 一.基本算法: (1)枚举. (poj1753,poj2965 ...

  5. (转)POJ题目分类

    初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治法.     (4)递推. ...

  6. poj分类

    初期: 一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.      ( ...

  7. poj 题目分类(1)

    poj 题目分类 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K:中短代码:0.51K--1.00K:中等代码量:1.01K--2.00K:长代码:2.01 ...

  8. POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)

    本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...

  9. POJ题目分类(转)

    初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治法.     (4)递推. ...

随机推荐

  1. JavaScript 静态方法和实例方法

    总结: 直接定义在构造函数上的方法和属性是静态的,  定义在构造函数的原型和实例上的方法和属性是非静态的 静态方法: function ClassA(){ //定义构造函数 }; ClassA.fun ...

  2. 二进制搭建kubernetes多master集群【一、使用TLS证书搭建etcd集群】

    上一篇我们介绍了kubernetes集群架构以及系统参数配置,参考:二进制搭建kubernetes多master集群[开篇.集群环境和功能介绍] 下面本文etcd集群才用三台centos7.5搭建完成 ...

  3. Ehcache配置参数简介

    < defaultCache         maxElementsInMemory = "10000"         maxElementsOnDisk = " ...

  4. Ansible 笔记 (3) - 编写 playbook

    playbook 相当于多个命令的编排组合然后一起运行,类似写脚本.在学习 playbook 之前需要了解 yaml 格式. 编写playbook的步骤: 定义主机与用户 编写任务列表 执行 play ...

  5. linux上安装tomcat

    这里采用离线解压tar.gz的方式安装 下载: wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.33/bin/apache-tomc ...

  6. 被“1”和“l”给坑了

    由于输入法的原因,导致小写的英文字母“L”和阿拉伯数字“1”长得非常像,在写秘钥的时候很容易把看错.由于对方发秘钥的时候给的是图片,而且不太清晰,手动输入的时候把“1”写成“l”了,对了好几遍秘钥也没 ...

  7. date(): It is not safe to rely on the system’s timezone settings.

    在执行php脚本时出现的错误: date(): It is not safe to rely on the system’s timezone settings.You are *required* ...

  8. Golang Tcp粘包处理(转)

    在用golang开发人工客服系统的时候碰到了粘包问题,那么什么是粘包呢?例如我们和客户端约定数据交互格式是一个json格式的字符串: {"Id":1,"Name" ...

  9. c# is 和 as 的区别和使用

    1:is 是判断类型,用于检查对象是否与给定类型兼容,不成功则不会抛出异常,如果兼容则返回true,如果不兼容则返回false.在进行类型转换之前用 f (P_obj is System.String ...

  10. C# OleDbConnection对特定部分Excel的数据读取

    最近在写winform程序,先来一个简单的. 读取特定部分Excel的数据读取,读取Excel第30行开始到H列的数据 using System;using System.Collections.Ge ...