#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. DevExpress VCL 13.1.2 发布

    DevExpress VCL 的2013 第一个公开版发布, 基本上就是一些维护,没有大的变化,也没有FM 的支持. What's New in DevExpress VCL 13.1.2   Rel ...

  2. Linux Vim替换字符串的一些方法小结

    使用Linux环境 进行开发工作的程序猿经常有编辑器之争,是vim牛还是emacs棒.二者都是程序猿的开发神器,不管用好哪一个都会使你的工作事半功倍. 本文重点介绍 Vim的替换字符串方法技巧,这些方 ...

  3. web service 架构

                                        Web services architecture The service provider sends a WSDL file ...

  4. x+y+z=n的正整数解

    题:x+y+z=n,其中(n>=3),求x,y,z的正整数解的个数根据图象法:x>=1,y>=1,x+y<=n-1

  5. 201709019工作日记--sleep、wait、notify的使用详解

    1. sleep()和wait()的区分 (1)这两个方法来自不同的类分别是,sleep来自Thread类,wait来自Object类. sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在 ...

  6. MySQL性能调优与架构设计——第 17 章 高可用设计之思路及方案

    第 17 章 高可用设计之思路及方案 前言: 数据库系统是一个应用系统的核心部分,要想系统整体可用性得到保证,数据库系统就不能出现任何问题.对于一个企业级的系统来说,数据库系统的可用性尤为重要.数据库 ...

  7. Linux 系统中进程5中常见状态

    运行.中断.不可终端.僵死.停止 R(运行):正在运行 or 在运行队列中等待: S(中断):处于休眠中,等待接收信号,并脱离改状态: D(不可中断):不响应信号输入,即使kill也不起作用: Z(僵 ...

  8. Boost库安装理解

    Boost安装的安装,以及在VS2013下的使用 1. 为什么要安装? boost是一个开源库,因为开源库可以跨平台,可以通过在不同的“硬件”平台上.所以需要安装的操作. 安装,然后编译生成“静态链接 ...

  9. WP8.1 中获取背景色和主题色

    背景色: Application.Current.RequestedTheme 返回的值是一个枚举,Light 或者 Dark. 主题色: public static Color GetPhoneAc ...

  10. clob 转 String

    import javax.sql.rowset.serial.SerialClob; import java.io.BufferedReader; import java.io.IOException ...