站外题求条
  • 板块灌水区
  • 楼主SM_929hz
  • 当前回复2
  • 已保存回复2
  • 发布时间2025/1/24 16:16
  • 上次更新2025/1/24 20:03:04
查看原帖
站外题求条
1364135
SM_929hz楼主2025/1/24 16:16

题目

单词接龙 输入n个英文单词,问他们是否可以按照某种排列构成单词接龙。

例如: n=3,"bat", "am", "tea"。

可以按照:bat-tea-am 构成单词接龙。

如果存在发案输出1,否则输出0。

输入格式 第一行1个正整数n,范围[2,12]。

下面n行是n个字符串,全是小写字母。

输出格式 1或0。

本蒟蒻的代码:

#include<bits/stdc++.h>
using namespace std;
int n,a[15],b;
string x[15],s[15];
bool ok(){
	for(int i=1;i<n;i++){
		string q=s[i],p=s[i+1];
		if(q[q.size()-1]!=p[0])
			return false;
	}
	return true;
}
int perm(int k){
	if(k==n+1&&ok()){
		return 1;
	}
   for (int i=1;i<=n;i++) 
       if (a[i]==0){ 
             a[i]=1;   
             s[k]=x[i];  
             if(perm(k+1))
             	return 1;
             a[i]=0; 
       }
    return 0;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>x[i];
	}
	cout<<perm(1);
    return 0;
}

50分TLE 球球了QwQ

2025/1/24 16:16
加载中...