#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. 【转载】foreach+Control.Controls无法一次性移除所有子控件解决方法

    博客转载地址:http://www.mzwu.com/article.asp?id=2254 //在panel1中添加20个Button ; ; ; i <= ; i++) { ) row++; ...

  2. 2018.10.23 NOIP训练 Leo的组合数问题(组合数学+莫队)

    传送门 好题. 考察了莫队和组合数学两个知识板块. 首先需要推出单次已知n,mn,mn,m的答案的式子. 我们令f[i]f[i]f[i]表示当前最大值为第iii个数的方案数. 显然iii之后的数都是单 ...

  3. CentOS里vim基本操作

    1.关于退出 :wq!  ----强制保存退出 :wq  ---- 保存退出 :x   ----- 作用和:wq 一样 ZZ  ---- 作用和:wq一样,(注意Z是大写的,并且不是在命令模式) :q ...

  4. 下拉菜单  - - css

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  5. C语言printf的格式

    例1 int a = 12345;printf("%6d",a); // 输出6位不够左边补空格printf("%.6d",a); // 输出6位不够左边补0例 ...

  6. 反爬虫破解系列-汽车之家利用css样式替换文字破解方法

    网站: 汽车之家:http://club.autohome.com.cn/ 以论坛为例 反爬虫措施: 在论坛发布的贴子正文中随机抽取某几个字使用span标签代替,标签内容位空,但css样式显示为所代替 ...

  7. (网络流 模板)A Plug for UNIX -- poj -- 1087

    链接: http://poj.org/problem?id=1087 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82835#probl ...

  8. hdu1302 The Snail

    题目 题目大意: 一只蜗牛在H英尺高的底部,想爬到顶端.蜗牛可以在太阳升起的时候爬上U英尺,但是在晚上睡觉的时候会滑下D英尺.蜗牛的疲劳系数为F(百分比),                       ...

  9. visual studio 2015 rc &cordova -hello world

    初始环境,用来看看书,电影,上上网的win8,所以一切从头开始. 1,首先还是装visual studio 2015  rc吧,目前只放出在线安装,所以要很长很长时间.不过有新闻说很快要实现中国网友至 ...

  10. 【转】【译】【Win10】在你的程序标题栏中显示后退按钮

    原文地址:http://www.sharpgis.net/post/2015/05/21/Displaying-a-backbutton-in-your-app-window 免责声明:这篇文章基于 ...