UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#212049#3817. 写字anruifeng200ms1200kbC++617b2024-10-13 10:41:372024-10-13 12:17:25

answer

#include<bits/stdc++.h>
using namespace std;
int n,m,ans=0x7fffff;
char s[310],t[310];
void dfs(int x,int y,int a)
{
	if(y==m+1){ans=min(ans,a);return ;}
	for(int i=1;i<=n;i++)
	{
		if(s[i]==t[y]&&i!=x)
		{
			if(s[i-1]==s[x])  dfs(i,y+1,a+abs(x-i+1)+1);
			if(s[i+1]==s[x])  dfs(i,y+1,a+abs(x-i-1)+1);
		}
	}
	if(s[x-1]==t[y])  dfs(x-1,y+1,a+1);
	if(s[x+1]==t[y])  dfs(x+1,y+1,a+1);
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)  cin>>s[i];for(int i=1;i<=m;i++)  cin>>t[i];
	for(int i=1;i<=n;i++)  if(s[i]==t[1])  dfs(i,2,0);
	if(ans==0x7fffff)  cout<<-1;
	else  cout<<ans;
	return 0;
}

详细

小提示:点击横条可展开更详细的信息

Subtask #1:

score: 20
Accepted

Test #1:

score: 20
Accepted
time: 0ms
memory: 1200kb

input:

1 1
v
v

output:

0

result:

ok 1 number(s): "0"

Test #2:

score: 0
Accepted
time: 0ms
memory: 1200kb

input:

5 5
bacbb
cabcb

output:

7

result:

ok 1 number(s): "7"

Subtask #2:

score: 0
Time Limit Exceeded

Test #3:

score: 0
Time Limit Exceeded

input:

26 300
ywzhvjnpdfqtukimsrbxageloc
brsmsrbxbxbxbxagagagegelococololegaxagaxaxbxbrbxbrsrsmikimikikimim...

output:


result:


Subtask #3:

score: 0
Time Limit Exceeded

Test #6:

score: 0
Time Limit Exceeded

input:

300 300
hgbfdbgcghedefchdabhgdddahcdedebceffegfbceehceeheggffhhddbecbfdhceeedcaeeebdaddfgccggfdcachg...

output:


result: