链接:https://www.nowcoder.com/acm/contest/107/B
来源:牛客网

Words Game
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld

题目描述

有一款英语练习游戏是这样的,每次会给出一些字母,然后需要你从中拼出一个最长的英文单词。
虽然williamchen的英语非常差,但是他现在搞到了一本英语词典,他只需要在词典里找出一个最长的符合条件的字母即可。
现在你需要写一个程序来帮助他完成这个任务。

输入描述:

包含多组测试数据,每组数据开始一行包含不超过20个字母,表示游戏给出的字母。
接下来是一行一个数字N(1 <= N <= 1000)
接下来N行,每行一个字符串表示词典中的单词,单词长度不会超过10。

输出描述:

每组数据输出一行,表示最长可能拼出的单词长度,如果一个单词都拼不出,那就输出0。

输入例子:
masterblodpo
7
boogie
magnolia
punch
blood
master
inherent
phantom
ablderrivala
5
arrival
blade
runner
incendies
sicario
输出例子:
6
7

-->

示例1

输入

masterblodpo
7
boogie
magnolia
punch
blood
master
inherent
phantom
ablderrivala
5
arrival
blade
runner
incendies
sicario

输出

6
7 只要找到一个就可以了,那么遍历一遍
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll mod=1e9+; struct node
{
char c[];
int l;
}a[]; bool cmp(node x,node y)
{
return x.l>y.l;
}
int main()
{
char s[];
while(cin>>s)
{
int l=strlen(s);
int n;
cin>>n;
for(int i=;i<=n;i++)
{
cin>>a[i].c;
a[i].l=strlen(a[i].c);
}
sort(a+,a++n,cmp);//排个序,这样一旦找到一个就可以跳出了,防止超时
int ma=;
int p=;
for(int i=;i<=n;i++)
{
p=;
int st=;
bool f=;
for(int j=;j<a[i].l;j++)
{
f=;
for(int k=st;k<l;k++)
{
if(s[k]==a[i].c[j])//找到一个相同的字母,
{
p++;
st=k;//开始的位置要变了,为了保持相对顺序
f=;
break;
}
}
if(!f)
{
break;
}
}
if(f)
{
break;
}
}
cout<<p<<endl;
}
return ;
}

也可以写的简短一点

#include<stdio.h>
#include<string.h>
int main()
{
char x[],y[];
int i,j,t,n,m,k,max;
while(scanf("%s",x)!=EOF)
{
k=strlen(x);
max=;
scanf("%d",&n);
for(i=;i<n;i++)
{
t=;
scanf("%s",y);
m=strlen(y);
for(j=;j<k;j++)
if(y[t]==x[j])
t++;
if(t==m&&m>max)
max=m;
}
printf("%d\n",max);
}
}

西安电子科技大学第16届程序设计竞赛 B Words Game的更多相关文章

  1. 西安电子科技大学第16届程序设计竞赛 G-小国的复仇

    西安电子科技大学第16届程序设计竞赛网络同步赛 G-小国的复仇 2 链接:https://www.nowcoder.com/acm/contest/107/G来源:牛客网 题目描述 众所周知,汀老师是 ...

  2. 西安电子科技大学第16届程序设计竞赛网络同步赛 G-小国的复仇

    sb找规律. 分解因数. #include<bits/stdc++.h> #define LL long long #define fi first #define se second # ...

  3. 西安电子科技大学第16届程序设计竞赛 E Xieldy And His Password

    链接:https://www.nowcoder.com/acm/contest/107/E来源:牛客网 Xieldy And His Password 时间限制:C/C++ 1秒,其他语言2秒 空间限 ...

  4. 西安电子科技大学第16届程序设计竞赛 F Operating System (unique() 去重函数)

    链接:https://www.nowcoder.com/acm/contest/107/F来源:牛客网 Operating System 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ ...

  5. 电子科技大学第八届ACM趣味程序设计竞赛第四场(正式赛)题解

    A. Picking&Dancing 有一列n个石子,两人交替取石子,每次只能取连续的两个,取走后,剩下的石子仍然排成1列.问最后剩下的石子数量是奇数还是偶数. 读懂题意就没什么好说的. #i ...

  6. 2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛题解

    链接:https://www.nowcoder.com/acm/contest/118/A 来源:牛客网 PUBG 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语 ...

  7. 江西财经大学第一届程序设计竞赛 G题 小Q的口袋校园

    链接:https://www.nowcoder.com/acm/contest/115/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  8. 哈尔滨理工大学第七届程序设计竞赛初赛(BFS多队列顺序)

    哈尔滨理工大学第七届程序设计竞赛初赛https://www.nowcoder.com/acm/contest/28#question D题wa了半天....(真真正正的半天) 其实D题本来就是一个简单 ...

  9. HDU 6467 简单数学题 【递推公式 && O(1)优化乘法】(广东工业大学第十四届程序设计竞赛)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6467 简单数学题 Time Limit: 4000/2000 MS (Java/Others)    M ...

随机推荐

  1. 0x5C 计数类DP

    cf 559C 考虑到黑色的格子很少,那么我把(1,1)变成黑色,然后按每个黑色格子接近终点的程度排序,计算黑色格子不经过另一个黑色格子到达终点的方案,对于当前的格子,要减去在它右下角的所有方案数(注 ...

  2. Windows批量添加和删除IP

    随着天气变冷了,好多小伙伴都开始变懒了,都想用最快的方式完成任务 下面给大家介绍一下Windows批量添加和删除IP的办法 (1)批量添加IP 直接在CMD下边运行下边命令. for /l %i in ...

  3. 第四节课-反向传播&&神经网络1

    2017-08-14 这节课的主要内容是反向传播的介绍,非常的详细,还有神经网络的部分介绍,比较简短. 首先是对求导,梯度的求解.反向传播的核心就是将函数进行分解,分段求导,前向计算损失,反向计算各个 ...

  4. 算法总结之 在单链表和双链表中删除倒数第k个节点

    分别实现两个函数,一个可以删除单链表中倒数第k个节点,另一个可以删除双链表中倒数第k个节点 思路: 如果链表为空,或者k<1 参数无效 除此之外 让链表从头开始走到尾,每移动一步,就让k的值减1 ...

  5. nodejs 中 excel-export 使用介绍

    1. 为了在nodejs 服务器端操作数据导出excel 格式用的 excel-export  包地址:https://github.com/functionscope/Node-Excel-Expo ...

  6. Qt qobject_cast用法 向下转型

    函数原型: T qobject_cast ( QObject * object ) 本方法返回object向下的转型T,如果转型不成功则返回0,如果传入的object本身就是0则返回0. 在使用时有两 ...

  7. JMeter ——Test fragment

    fragment 为片段,可以是一个不完整的用例.比如你可以把一个http请求保存为fragment,如果不这样做的话,你是必须先要添加一个测试计划-线程组-http请求的.你可以把某步骤一系列的请求 ...

  8. ActiveMQ 的客户端选项

    本章重点 怎么使用独占式消费者 消息分组的威力 理解流和二进制大对象 容错传输 计划消息分发 简介 上一章我们介绍了 ActiveMQ 的代理特性,本章我们将学习 ActiveMQ 客户端的一些高级特 ...

  9. POJ1741 经典树分治

    题意:有一棵树,每条边有一个距离,求dis(u,v)<=k的点的对数 题解:树分治,对于一颗树上的两点,要么在同一颗子树上,要么在不同子树上,要么一个点是根,另一个在某一子树上,对于第一种情况我 ...

  10. s3cmd 安装使用指南

    https://wangyan.org/blog/s3cmd-how-to-use.html s3cmd 安装使用指南 s3cmd 是一款 Amazon S3 命令行工具.它不仅能上传.下载.同步,还 ...