题目链接:http://codeforces.com/problemset/problem/358/B

题目意思:给出n个单词(假设为word1,word2、word3...wordn)和一句test message,需要判断的是,这个 test message在去除一系列随机插入的英文字符后,是否满足<3word1<3word2<3 ... wordn<3 的结构。

首先要构造出一个参考序列,也就是<3word1<3word2<3 ... wordn<3的结构(总长度为 j )。

接着用test message (假设指向它元素的指针为 i )跟这个参考序列(指针为 k)作左到右依次比较,如果有相同的字符,那么k 向右移动一位,最后当整个test message扫描完后,判断k的值是否等于j ,若是,则符合参考序列的结构。

方法一:没有用string

Time: 31ms

Memory:  1200KB

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std; const int maxin = 1e5 + ;
const int maxsave = 1e6 + ;
char a[maxin], b[maxin];
char s[maxsave]; int main()
{
int i, j, k, n, len1, len2;
while (scanf("%d", &n) != EOF)
{
j = ;
s[j++] = '<';
s[j++] = '';
while (n--)
{
scanf("%s", a);
len1 = strlen(a);
for (i = ; i < len1; i++)
s[j++] = a[i];
s[j++] = '<';
s[j++] = ''; // 构造一条对照序列
}
// for (i = 0; i < j; i++)
// printf("%c", s[i]);
// printf("\n\n");
getchar();
gets(b);
len1 = strlen(b);
for (k = , i = ; i < len1; i++)
{
if (b[i] == s[k])
k++;
}
if (k == j)
puts("yes");
else
puts("no");
}
return ;
}

方法二:用到string

Time:46ms

Memory:1000KB

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <string>
using namespace std; int main()
{
int i, j, n, len;
string str1, str2, tmp;
tmp = "<3";
while (scanf("%d", &n) != EOF)
{
str1.append(tmp);
for (i = ; i < n; i++)
{
cin >> str2;
str1.append(str2);
str1.append(tmp);
}
cin >> str2;
for (j = , i = ; i < str2.size(); i++)
{
if (str2[i] == str1[j])
j++;
}
if (j == str1.size())
puts("yes");
else
puts("no");
str1.clear();
}
return ;
}

codeforces B. Dima and Text Messages 解题报告的更多相关文章

  1. codeforces A. Dima and Continuous Line 解题报告

    题目链接:http://codeforces.com/problemset/problem/358/A 题目意思:在横坐标上给出n个不同的点,需要把前一个点跟后一个点(这两个点的顺序是紧挨着的)用一个 ...

  2. Codeforces Round #208 (Div. 2) B Dima and Text Messages

    #include <iostream> #include <algorithm> #include <string> using namespace std; in ...

  3. codeforces C1. The Great Julya Calendar 解题报告

    题目链接:http://codeforces.com/problemset/problem/331/C1 这是第一次参加codeforces比赛(ABBYY Cup 3.0 - Finals (onl ...

  4. codeforces B. Eugeny and Play List 解题报告

    题目链接:http://codeforces.com/problemset/problem/302/B 题目意思:给出两个整数n和m,接下来n行给出n首歌分别的奏唱时间和听的次数,紧跟着给出m个时刻, ...

  5. codeforces 433C. Ryouko's Memory Note 解题报告

    题目链接:http://codeforces.com/problemset/problem/433/C 题目意思:一本书有 n 页,每页的编号依次从 1 到 n 编排.如果从页 x 翻到页 y,那么| ...

  6. codeforces 556B. Case of Fake Numbers 解题报告

    题目链接:http://codeforces.com/problemset/problem/556/B 题目意思:给出 n 个齿轮,每个齿轮有 n 个 teeth,逆时针排列,编号为0 ~ n-1.每 ...

  7. codeforces 510B. Fox And Two Dots 解题报告

    题目链接:http://codeforces.com/problemset/problem/510/B 题目意思:给出 n 行 m 列只有大写字母组成的字符串.问具有相同字母的能否组成一个环. 很容易 ...

  8. codeforces 505A. Mr. Kitayuta's Gift 解题报告

    题目链接:http://codeforces.com/problemset/problem/505/A 题目意思:给出一个长度不大于10的小写英文字符串 s,问是否能通过在字符串的某个位置插入一个字母 ...

  9. codeforces 499A.Inna and Pink Pony 解题报告

    题目链接:http://codeforces.com/problemset/problem/499/A 题目意思:有两种按钮:1.如果当前观看的时间是 t,player 可以自动处理下一分钟,姑且理解 ...

随机推荐

  1. 【Matplotlib】 标注摄氏度符号

    之前论文中作图遇到的,其实也很简单. 关键的代码如下: ax.set_xlabel('Temperature ($^\circ$C)') 完整的样例代码如下: # -*- coding: utf-8 ...

  2. JAVA的整型与字符串相互转换

    1如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([S ...

  3. AU3学习资源

    AU3中文站:http://www.autoitx.com/

  4. JDBC中prepareStatement 和Statement 的区别

    package util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedSta ...

  5. IOS基础之 (十二) Block

    一 定义 Block封装了一段代码,可以在任何时候执行. Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值. 二 使用 1. 定义函数指针,然后在实现. #import & ...

  6. WebView 自定义错误界面,WebView 加载进度条,和Logding 效果

    ---恢复内容开始--- 下载地址,代码就不粘贴了 http://pan.baidu.com/s/1eQncg86 ---恢复内容结束--- 我没有判断是不是网络原因,各位自行判断吧,图片错误信息,及 ...

  7. 领域模型中的实体类分为四种类型:VO、DTO、DO、PO

    http://kb.cnblogs.com/page/522348/ 由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念: 概念: V ...

  8. Android应用目录结构分析

    一.手动创建android项目 手动创建一个Android项目,命名为HelloWorld,命令如下: android create project -n HelloWorld -t 1 -p E:/ ...

  9. 本地与在线图片转Base64及图片预览

    查看效果:http://sandbox.runjs.cn/show/tgvbo9nq 本地图片转Base64(从而可以预览图片): function localImgLoad() { var src ...

  10. iptables 工具

    iptables 工具 参考文档: https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html   ...