Word 小白月赛D
题意:将一个单词s转化为单词t,每次只改变一个单词,且变化的单词必须在给定单词表内 思路: 1.单词s看作是起点,单词t看作是终点。 2.每次变化一个单词,说明两个字符串若只有一个单词差异则可以变化,需要连线。 2.此时便看出是最短路,但是由于n属于1~2000,我不死心的试了以下floyed算法,可惜超时了。。。 floyed的O(n^3)做法+打印路径:
#include
#define endl '\n'
#define re register
#define int long long
#define ios (ios::sync_with_stdio(false),cin.tie(0),cout.tie(0))
using namespace std;
const int N=2e3+10;
const int inf=0x3f3f3f3f;
const int mod=1e7+7;
int n,m,f[2005][2005],p[2005][2005];
string str[N];
bool check(int i,int j)
{
int res=0;
string s1=str[i],s2=str[j];
for(int g=0;gstr[i];
string s,t;cin>>s>>t;
if(s==t)
{
cout
关注
打赏