UVA10340子序列
生活随笔
收集整理的這篇文章主要介紹了
UVA10340子序列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
? ? ? 給你兩個串,問你第二個第一個串是否是第一個串刪除0個或多個字母得到的?
思路:
? ? ? 直接模擬就行了,在第二個串中去按順序更新第一個串的下標,好像沒說明白啊,不管了,水題,不理解直接看下代碼就懂了。
#include<stdio.h>
#include<string.h>
char str1[1100000] ,str2[1100000];
int main ()
{
? ?while(~scanf("%s %s" ,str1 ,str2))
? ?{
? ? ? int l1 = strlen(str1);
? ? ? int l2 = strlen(str2);
? ? ? if(l1 > l2)
? ? ? {
? ? ? ? ?puts("No");
? ? ? ? ?continue;
? ? ? }
? ? ? int nowid = 0;
? ? ? for(int i = 0 ;i < l2 ;i ++)
? ? ? {
? ? ? ? ?if(str2[i] == str1[nowid])
? ? ? ? ?nowid ++;
? ? ? ? ?if(nowid == l1) break;
? ? ? }
? ? ? nowid == l1 ? puts("Yes") : puts("No");
? ?}
? ?return 0;
}
? ? ? 給你兩個串,問你第二個第一個串是否是第一個串刪除0個或多個字母得到的?
思路:
? ? ? 直接模擬就行了,在第二個串中去按順序更新第一個串的下標,好像沒說明白啊,不管了,水題,不理解直接看下代碼就懂了。
#include<stdio.h>
#include<string.h>
char str1[1100000] ,str2[1100000];
int main ()
{
? ?while(~scanf("%s %s" ,str1 ,str2))
? ?{
? ? ? int l1 = strlen(str1);
? ? ? int l2 = strlen(str2);
? ? ? if(l1 > l2)
? ? ? {
? ? ? ? ?puts("No");
? ? ? ? ?continue;
? ? ? }
? ? ? int nowid = 0;
? ? ? for(int i = 0 ;i < l2 ;i ++)
? ? ? {
? ? ? ? ?if(str2[i] == str1[nowid])
? ? ? ? ?nowid ++;
? ? ? ? ?if(nowid == l1) break;
? ? ? }
? ? ? nowid == l1 ? puts("Yes") : puts("No");
? ?}
? ?return 0;
}
總結
以上是生活随笔為你收集整理的UVA10340子序列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UVA10382喷水装置
- 下一篇: UVA10970大块巧克力