#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 Build v2014 vol 14.2.7发布

    2015年马上快过去一半了,这个玩意还在纠结在14版.其实也无所谓,反正就是改成15版,也还是这些 东西的修补. What's New in 14.2.7 (VCL Product Line)   N ...

  2. XE4 for ios 谨慎处理字符串

    由于xe4 for ios  里面的字符串处理有变化,具体可以参考官方文档,这两天帮一个朋友调试ios 的 应用,由于没有注意这一块,折腾了很长时间.特此记录下来,希望其他人不要走弯路. 以下面代码为 ...

  3. 2018.10.12 bzoj4712: 洪水(树链剖分)

    传送门 树链剖分好题. 考虑分开维护重儿子和轻儿子的信息. 令f[i]f[i]f[i]表示iii为根子树的最优值,h[i]h[i]h[i]表示iii重儿子的最优值,g[i]g[i]g[i]表示iii所 ...

  4. hdu-1181(bfs)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1181 思路:bfs,就是每次找到匹配麻烦一点,注意如果结尾和开头相同,就不算. #include< ...

  5. Win7下U盘安装CentOS-7-x86_64-DVD-1503-01

    转载自:http://blog.sina.com.cn/s/blog_842d5c8a0102vr12.html 昨天在Win7下装CentOS7,本以为之前装CentOS6.5很熟练了,结合网上的帖 ...

  6. 基于NLP和GAN的小说影视化

    轮廓: https://tieba.baidu.com/p/1271120336 着色:

  7. css布局:定宽,自适应

    css三栏布局:1.中自:float,absolute,margin三种方法.2.中固:margin,table两种方法. 两边定宽,中间自适应: float: #left{ float:left; ...

  8. C# 调用C++ CLR dll类库时,实现从 string 到 sbyte* 的转换

    问题描述 今天在做项目的时候碰到一个问题,就是用C++编写CLR类库dll的时候,C++的函数参数列表中包含一个char*的输出型参数,然而在C#调用该dll时候,会自动将函数的中的char*参数“翻 ...

  9. Python学习-25.Python中的分数

    在Python中,不止有浮点数(float),而且还有分数(Fraction)这个类型. 要使用分数,必须引入一个模块. import fractions 然后就可以声明一个分数了 x = fract ...

  10. c# AOP编程:Context与方法拦截

    之前做AgentBooking时候,遇到两个问题比较棘手,一个是异常的传递与捕获:如何可以合理地在层层代码调用中统一传递并统一捕获异常.因为如果有一个做法,可以地方统一处理异常,可以使代码减少很多tr ...