赞
踩
单词接龙 查看测评数据信息
输入n个英文单词,问他们是否可以按照某种排列构成单词接龙。
例如: n=3,"bat", "am", "tea"。
可以按照:bat-tea-am 构成单词接龙。
如果存在发案输出1,否则输出0。
第一行1个正整数n,范围[2,12]。
下面n行是n个字符串,全是小写字母。
1或0。
输入:
2
this
hello
输出:
0
- #include<bits/stdc++.h>
- using namespace std;
- int used[20];
- string word[20];
- string ans[20];
- int N;
- bool check(){
- for (int i=1;i<=N;i++)
- {
- if(ans[i][ans[i].size()-1]!=ans[i+1][0])
- return false;
- }
- return true;
- }
- bool per(int step){
- if (step>N){
- return true;
- }
- for (int j=1;j<=N;j++){
- if (used[j]==0)
- if(step==1 || ans[step-1][ans[step-1].size()-1]==word[j][0]){
- used[j]=1;
- ans[step]=word[j];
- if(per(step+1))
- return true;
- used[j]=0;
- }
- }
- return false;
- }
- int main(){
- cin>>N;
- for(int i=1;i<=N;i++)
- {
- cin>>word[i];
- }
- if(per(1))
- cout<<"1";
- else
- cout<<"0";
- return 0;
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。