ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#212049 | #3817. 写字 | anruifeng | 20 | 0ms | 1200kb | C++ | 617b | 2024-10-13 10:41:37 | 2024-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;
}
Details
小提示:点击横条可展开更详细的信息
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...