列表

详情


NC21689. 网上冲浪

描述

新新最近学会了网上冲浪。她立即走进聊天室,决定和大家打个招呼。

新新输入了单词s。如果可以从输入的单词中删除几个字母,从而得到单词"hello",则认为新新成功地说了hello。

例如,如果新新输入"ahhellllloou"这个单词,就会被认为是他打招呼了,

如果她输入"hlelo",就会被认为是新新被误解了,没有成功地打招呼。判断新新是否能通过给定的单词来打招呼。

输入描述

第一行是唯一一行,包含了新新输入的单词s。这个词由小写英文字母组成,长度不少于1个,不超过100个字母。

输出描述

如果新新成功地打招呼,输出"YES",否则输出"NO"。

示例1

输入:

ahhellllloou

输出:

YES

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C(clang 3.9) 解法, 执行用时: 3ms, 内存消耗: 508K, 提交时间: 2018-12-08 14:25:18

#include <stdio.h>

main()
{
	char a[100];
	char b[6]="hello";

	scanf("%s",a);
	
	int i=0,j=0;
	while(a[i]!='\0'&&b[j]!='\0'){
		if(a[i]==b[j]){
			i++;j++;
		}else{
			i++;
		}
	}
	
	if(j==5){
		printf("YES");
	}else{
		printf("NO");
	}
}

C++(clang++11) 解法, 执行用时: 6ms, 内存消耗: 508K, 提交时间: 2021-03-12 16:06:36

#include<iostream>
using namespace std;
int main()
{
    int j=0;
    char a[105],b[]="hello";
    cin>>a;
    for(int i=0;a[i]!='\0';i++)
    if(a[i]==b[j])j++;
    if(j==5) cout<<"YES";
    else cout<<"NO";
    return 0;
}

Python3 解法, 执行用时: 67ms, 内存消耗: 7132K, 提交时间: 2021-09-05 16:46:22

word = input()
cstr = 'hello'
k = 0
for i in word:
    if cstr[k] == i:
        k=k+1
    if k == len(cstr):
        break
if k == len(cstr):
    print('YES')
else:
    print('NO')

上一题