昨晚atcoder的C题求助
  • 板块灌水区
  • 楼主Silver_winter
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/12/29 09:00
  • 上次更新2024/12/29 13:52:57
查看原帖
昨晚atcoder的C题求助
1125069
Silver_winter楼主2024/12/29 09:00

题面翻译

给出最大操作次数 kk 和字符串 SS 、字符串 TT ,询问我们是否可以让两个字符串相等

每一次操作可以用以下三个操作之一并执行它。

给字符串S任意增加一个字符

给字符串S任意减少一个字符

给字符串S的某个位置替换为另一个字符

SS的长度大与等于1,小于等于500000

#include<bits/stdc++.h>
using namespace std;
int main(){
	int k;
	string s,t;
	cin>>k>>s>>t;
	int l=s.size();
	int l2=t.size();
	if(l>l2){
	 swap(l,l2);
	 swap(s,t);
	}
		k-=l2-l;	
	 int x=0;	 
	 for(int i=0;i<l;i++){
	 	for(int j=x;j<l2;j++){
	 		if(s[i]==t[j]){
	 			x=j+1;
	 			break;
			}
			if(j==l2-1){
				k--;
			}
		}
	}
	if(k>=0){
		cout<<"Yes";
		return 0;
	}
	else {
		cout<<"No";
		return 0;
	}	
	return 0;
}
2024/12/29 09:00
加载中...