http://acm.hdu.edu.cn/showproblem.php?pid=4068

暴力枚举两个全排列,犯了若干错误,以此为鉴

#include <iostream>
#include <cstdio>
#include <cstring>
#include <map>
using namespace std ;
int n,f,m[],vis[],vis2[],temp[] ;
string str[],ans[],s[][],res[] ;
int OK()
{
int i,j,flag ;
i=j= ;
while(i<n && j<n)
{
flag= ;
for(int k= ;k<m[temp[i]] ;k++)
{
if(s[temp[i]][k]==res[j])
{
flag= ;
break ;
}
}
if(flag)j++ ;
else i++ ;
}
if(i==n)return ;
return ;
}
int ff ;
int dfs2(int cur)
{
if(cur==n)
{
if(!OK()){
ff= ;
return ;
}
}
for(int i= ;i<n && ff ;i++)
{
if(!vis2[i])
{
vis2[i]= ;
temp[cur]=i ;
dfs2(cur+) ;
vis2[i]= ;
}
}
if(ff)return ;
return ;
}
void dfs(int cur)
{
if(f)
return ;
if(cur==n)
{
ff= ;
memset(vis2,,sizeof(vis2)) ;
if(dfs2())
{
f= ;
for(int i= ;i<n ;i++)
ans[i]=res[i] ;
}
return ;
}
for(int i= ;i<n ;i++)
{
if(!vis[i])
{
vis[i]= ;
res[cur]=str[i] ;
dfs(cur+) ;
vis[i]= ;
}
}
} int main()
{
int t ;
scanf("%d",&t) ;
for(int cas= ;cas<=t ;cas++)
{
scanf("%d",&n) ;
for(int i= ;i<n ;i++)
cin >> str[i] ;
for(int i= ;i<n ;i++)
{
scanf("%d",&m[i]) ;
for(int j= ;j<m[i] ;j++)
{
cin >> s[i][j] ;
}
}
sort(str,str+n) ;
f= ;
memset(vis,,sizeof(vis)) ;
dfs() ;
printf("Case %d: ",cas) ;
if(f)
{
puts("Yes") ;
for(int i= ;i<n ;i++)
{
if(i)
{
putchar(' ') ;
}
cout << ans[i] ;
}
putchar('\n') ;
}
else
puts("No") ;
}
return ;
}

最新文章

  1. android虚拟机
  2. 全息眼镜HoloLens可快速捕捉真人3D图像
  3. Linux进程间通信之管道
  4. 【JAVA】通过公式字符串表达式计算值,网上的一种方法
  5. php safe mode bypass all &lt;转&gt;
  6. debian修改ip地址
  7. workerman安装
  8. 利用if else 判断方程有几个根
  9. angularjs使用directive实现倒计时按钮
  10. Shell Script(1)----variable compare
  11. MySQL基数(索引基数)
  12. 毕加索的艺术——Picasso,一个强大的Android图片下载缓存库,OkHttpUtils的使用,二次封装PicassoUtils实现微信精选
  13. 2013-09-16 构建C1000K的服务器(1) – 基础
  14. 3星|《给产品经理讲技术》:APP开发技术介绍,没有技术背景的话恐怕只能看懂书中的比喻和结论
  15. storybook构建vue组件
  16. ISG 2018 Web Writeup
  17. Spring如何支持可扩展
  18. html5的audio实现高仿微信语音播放效果
  19. centos7 与 archlinux用户 安装 python3模块 pytaglib
  20. mysql数据库----索引原理与慢查询优化

热门文章

  1. java多线程(六)
  2. python基础之if语句
  3. web前端几个小知识点笔记
  4. cocos代码研究(16)Widget子类RadioButton学习笔记
  5. Codeforces Round #530 (Div. 2) Solution
  6. 2018-2019 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2018) Solution
  7. 按月、按日进行数据统计的Mysql语句
  8. cookie的存取删
  9. mongodb-的副本集
  10. 再论Splay