intさわだんのBlack History

刹那的レジェンドになりたい。

POJ(PKU) 1936 ALL in ALL

  • 問題概要

二つの文字列s,tが与えられる。tの任意の文字を削除してsにすることができるか。
s,tは100000文字を超えない。

  • 解法

t[0]からt見ていきs[0]と同じば場合s[1]について比較。

#include <cstdio>
#include <iostream>
#include <cstring>

using namespace std;

int main(){
  
  char s[100003],t[100003];
  
  while(cin >> s >> t){
    int slen = strlen(s);
    int tlen = strlen(t);
    int nau = 0;
    for(int i = 0;i < tlen;i++){
      if(s[nau] == t[i]){
	nau++;
      }
      if(nau >= slen)break;
    }
    
    if(nau >= slen)cout << "Yes" << endl;
    else cout << "No" << endl;
  }
  return 0;
}