hdu 4068 SanguoSHA
搜索下就可以了……
代码如下:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<map>
using namespace std;
int p[][],n,a[],b[];
string str[],s;
bool flag,vis[],vis2[];
bool dfs2(int d)
{
int i,j;
if(d==n){
i=j=;
while(i<n&&j<n){
bool f=;
for(int k=;k<=p[b[j]][];k++)
if(p[b[j]][k]==a[i]){
f=;
break;
}
if(f) i++;
else j++;
}
if(i==n) return ;
return ;
}
for(i=;i<n;i++){
if(vis2[i]==){
vis2[i]=;
b[d]=i;
if(!dfs2(d+)) return ;
vis2[i]=;
}
}
return ;
}
bool dfs(int d)
{
int i,j;
if(d==n){
flag=;
for(i=;i<n;i++){
memset(vis2,,sizeof(vis2));
b[]=i;
vis2[i]=;
if(!dfs2()){
flag=;
break;
}
}
if(flag) return ;
return ;
}
for(i=;i<n;i++){
if(vis[i]==){
vis[i]=;
a[d]=i;
if(dfs(d+)) return ;
vis[i]=;
}
}
}
int main()
{
int t,i,j,k,ca=;
cin>>t;
while(t--){
cin>>n;
for(i=;i<n;i++)
cin>>str[i];
sort(str,str+n);
for(i=;i<n;i++){
cin>>p[i][];
for(j=;j<=p[i][];j++){
cin>>s;
for(k=;k<n;k++){
if(s==str[k]){
p[i][j]=k;
break;
}
}
}
}
for(i=;i<n;i++){
memset(vis,,sizeof(vis));
vis[i]=;
a[]=i;
if(dfs()){
break;
}
}
printf("Case %d: ",++ca);
if(i==n) puts("No");
else{
puts("Yes");
for(i=;i<n-;i++)
cout<<str[a[i]]<<' ';
cout<<str[a[i]]<<endl;
}
}
return ;
}
hdu 4068 SanguoSHA的更多相关文章
- HDU 4068
http://acm.hdu.edu.cn/showproblem.php?pid=4068 暴力枚举两个全排列,犯了若干错误,以此为鉴 #include <iostream> #incl ...
- hdu 4068 I-number【大数】
题目: http://acm.hdu.edu.cn/showproblem.php?pid=4608 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- hdu 4068 福州赛区网络赛H 排列 ***
拍的太慢了,很不满意 排完序之后,枚举自己和对手状态,若被击败,则再枚举自己下一个策略,直到可以击败对手所有的策略 #include<cstdio> #include<iostrea ...
- hdu 4068 I-number
#include<stdio.h> #include<string.h> ]; int al; int mysum() //求各位和 { ; al=strlen(a); ; i ...
- [置顶] 2013_CSUST暑假训练总结
2013-7-19 shu 新生训练赛:母函数[转换成了背包做的] shuacm 题目:http://acm.hdu.edu.cn/diy/contest_show.php?cid=20083总结:h ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
- hdu 4859 海岸线 Bestcoder Round 1
http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...
- HDU 4569 Special equations(取模)
Special equations Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
随机推荐
- hdu 5327 Olympiad
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5327 Olympiad Description You are one of the competit ...
- hdu 5281 Senior's Gun
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5281 Senior's Gun Description Xuejiejie is a beautifu ...
- Ubuntu无值守安装mysql
1. 使用apt-get -d install 命令下载安装包, 其中-d表示下载不安装. 下载后的deb包放在/var/cache/apt/archives目录 2. 使用dpkg-preconfi ...
- linux 禁止指定账号ssh登陆
1 2 3 4 vim /etc/pam.d/sshd #在第一行添加以下代码 auth required pam_listfile.so item=user sense=de ...
- iOS关于打包出错
运行没问题,有可能是自动打包编译脚本的存在,删除掉即可.
- IOS内存管理「4」- ARC 和垃圾回收机制的基本概念
- C# 执行Cmd窗口中的命令 [复制文件实例]
/// <summary> /// 复制文件夹 /// </summary> /// <param name="sCmd"></param ...
- mif_maker2010.exe下载和使用说明
mif_malker2010.exe下载地址:http://pan.baidu.com/s/1bCqAp4 使用说明:http://www.cnblogs.com/BitArt/archive/201 ...
- Android实现AppWidget、Broadcast动态注册
Android实现AppWidget.Broadcast动态注册 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 主界面可以编辑广播的信息,点 ...
- [原]Java修炼 之 基础篇(二)Java语言构成
上次的博文中Java修炼 之 基础篇(一)Java语言特性我们介绍了一下Java语言的几个特性,今天我们介绍一下Java语言的构成. 所谓的Java构成,主要是指Java运行环境的组成, ...