poj3073
- 比赛状态堪忧,笑看自己找不着北..
- 把心态放好吧- -
- 反正窝从一開始就仅仅是为了多学习才上道的
- 至少已经从学习和智商上给窝带来了一些帮助
- 智商带不动,好辛苦~~~~(>_<)~~~~
- 说说这题吧…这题就是个SB题。考虑前i个字符能匹配的方案数。我们仅仅须要考虑它后几位是否能配上一组题目给出的字符就可以,于是有
dp[i]=∑j=1ndp[j](if.字符[j,i]匹配上了某一组给定字符)
#include <cstdio>
#include <vector>
#include <string>
#include <cctype>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int MAX = 128 << 2;
int dp[MAX];
char rp[MAX >> 2][6] =
{
"4", "|3", "(", "|)", "3", "|=", "6", "#", "|",
"_|", "|<", "|_", "|\\/|", "|\\|", "0", "|0", /*-P*/
"(,)", "|?", "5", "7", "|_|", "\\/", "\\/\\/",
"><", "-/", "2"
};
int main()
{
char buffer[MAX];
char s[MAX];
while (cin >> buffer && buffer[0] != 'e')
{
s[0] = '\0';
int len = strlen(buffer);
for (int i = 0; i < len; ++i)
{
strcat(s, rp[buffer[i] - 'A']);
}
len = strlen(s);
memset(dp, 0, sizeof(dp));
for (int i = 0; i < len; ++i)
{
char ch = s[i + 1];
s[i + 1] = '\0';
for (int t = 0; t < 26; ++t)
{
if (strcmp(rp[t], s) == 0)
{
++dp[i];
break;
}
}
for (int j = 1; j <= i; ++j)
{
for (int t = 0; t < 26; ++t)
{
if (strcmp(rp[t], s + j) == 0)
{
dp[i] += dp[j - 1];
}
}
}
s[i + 1] = ch;
}
cout << dp[len - 1] << endl;
}
return 0;
}
poj3073的更多相关文章
- django 操作数据库--orm(object relation mapping)---models
思想 django为使用一种新的方式,即:关系对象映射(Object Relational Mapping,简称ORM). PHP:activerecord Java:Hibernate C#:Ent ...
随机推荐
- golang ----map按key排序
实现map遍历有序 1. key有序 思路:对key排序,再遍历key输出value 代码如下:既可以从小到大排序,也可以从大到小排序 package main import ( "fmt& ...
- mmap映射文件至内存( 实现 共享内存 与 文件的另类访问 )
Linux提供了内存映射函数mmap, 它把文件内容映射到一段内存上(准确说是虚拟内存上), 通过对这段内存的读取和修改, 实现对文件的读取和修改, 先来看一下mmap的函数声明: 头文件: < ...
- Mac OS X 下多个JDK版本的切换小技巧
如果在系统中安装了多个Java JDK 版本,可能会根据项目或编译环境的不同来回切换,下面有两种非常方便的方法供大家选择. 我的机器上有 Java 7 和 Java 8,大家根据自己的 JDK 版本自 ...
- 【转】UML类图符号 6种关系说明以及举例
转自http://www.cnblogs.com/duanxz/archive/2012/06/13/2547801.html UML中描述对象和类之间相互关系的方式包括:依赖(Dependency) ...
- SQL 中的 UNION 和UNION ALL 的区别
UNION表示“并”,当用的时候,系统会自动将重复的元组去掉,如果要保留重复元组则就用UNION ALL UNION 会合并重复数据,(由于要合并重复,该操所 隐藏着一个 排序的操作.)UNION A ...
- window.location.href 与 window.loaction.replace区别
window.location.href和window.location.replace的区别 1.window.location.href=“url”:改变url地址: 2.window.locat ...
- xml中的<![CDATA[]]> 简介
被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”. 此标记用于xml文档中,我们先来看看使用转义符的 ...
- MySQL 两个数据库表中合并数据
两个数据库表中合并数据 如果有 t1 和 t2 两个数据库表格,它们两个对应的字段是相同的.如何将 t2 的数据插入到t1中去呢? insert into t1 select * from t2 ...
- C#基础第三天-作业-集合-冒泡排序-模拟名片
1.名片:用两种集合(ArrayList/List<>)去输出余下信息.身份证号码,电话号码,性别,姓名,身高,年龄,体重.需求:根据 姓名 去查询某一行数据.如果集合中不存在提示(“自定 ...
- U811.1接口EAI系列之四--委外订单生成--VB语言
委外订单主细表.子个构成需求.具体代码与参数说明. 下面调用的通用方法在: http://www.cnblogs.com/spring_wang/p/3393147.html 作者:王春天 2013- ...