Codeforces Unknown Language Round #3 D "World of Mouth"

問題:http://codeforces.com/contest/100/problem/D

ある文字列をある文字列に追加と削除だけを指定回数以内で実現できるかどうかを求める.

int main() {
  int n=(int)Stdio.stdin->gets();
  string start = Stdio.stdin->gets();
  string end = Stdio.stdin->gets();
  int c=0;
  for(int i=0,j=0;i<strlen(end);++i,++j){
    for(;j<strlen(start)&&start[j]!=end[i];++j);
    if(j<strlen(start) && (start[j]==end[i])) ++c;
  }
  if(c == strlen(end) && n >= strlen(start) - strlen(end)) write("YES");
  else if(c < strlen(end) && (strlen(start) - c) + (strlen(end) -c) <= n) write("YES");
  else write("NO");
  return 0;
}