关注
全排列一个个试,毫无算法。。。复杂度贼高。。
#include<iostream>
#include <string>
using namespace std;
int book[100], num=4, cou=1;
char *word[4] = { "ab","bc","cd","bf" };
bool dfs(int num, char ** arr,char tail)
{
if (cou == num )
return true;
for (int i = 0; i < num; ++i)//一个个当首单词
{
if (book[i] == 0 && arr[i][0] == tail)
{
book[i] = 1;
cou++;
if (dfs(num, arr, arr[i][strlen(arr[i]) - 1]))
return true;
book[i] = 0;
cou--;
}
}
return false;
}
int canArrangeWords(int num, char ** arr)
{
if (num == 1)
return 1;
for (int i = 0; i < num; ++i)//一个个当首单词
{
book[i] = 1;
bool zq=dfs(num,arr,arr[i][strlen(arr[i])-1]);
book[i] = 0;
cou = 1;//链子里只有第一个单词了
if (zq)
return 1;
}
return -1;
}
int main()
{
int res = canArrangeWords(num, word);
cout << res << endl;
system("pause");
return 0;
}
查看原帖
点赞 评论
相关推荐
07-01 14:16
门头沟学院 硬件开发 点赞 评论 收藏
分享
06-16 19:09
河南开封科技传媒学院 Java 
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你觉得实习能学到东西吗 #
21162次浏览 508人参与
# 秋招什么时候开投比较合适? #
9876次浏览 196人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
23049次浏览 192人参与
# 实习,不懂就问 #
32749次浏览 556人参与
# 软开人,秋招你打算投哪些公司呢 #
101363次浏览 954人参与
# 如何准备秋招 #
13286次浏览 246人参与
# 发工资后,你做的第一件事是什么 #
66583次浏览 221人参与
# 运营人求职交流聚集地 #
141372次浏览 989人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
28344次浏览 456人参与
# 每个月的工资都是怎么分配的? #
16482次浏览 346人参与
# 不考虑转正,实习多久合适 #
30020次浏览 130人参与
# 你觉得现在还能进互联网吗? #
5184次浏览 109人参与
# 预测一下26届秋招形势 #
28195次浏览 258人参与
# 你们公司几号发工资 #
19239次浏览 129人参与
# 大疆今年的机械笔试难吗? #
41639次浏览 456人参与
# 25届如何提前做秋招准备? #
171883次浏览 2482人参与
# 晒一晒你收到的礼盒 #
70390次浏览 403人参与
# 硬件应届生薪资是否普遍偏低? #
72817次浏览 511人参与
# 打工人的精神状态 #
54647次浏览 996人参与
# 高考出分的那一天,我__ #
17932次浏览 272人参与
# 来聊聊你认为的薪资天花板是哪家? #
31078次浏览 175人参与