搜索下就可以了……

代码如下:

 #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的更多相关文章

  1. HDU 4068

    http://acm.hdu.edu.cn/showproblem.php?pid=4068 暴力枚举两个全排列,犯了若干错误,以此为鉴 #include <iostream> #incl ...

  2. hdu 4068 I-number【大数】

    题目: http://acm.hdu.edu.cn/showproblem.php?pid=4608 http://acm.hust.edu.cn/vjudge/contest/view.action ...

  3. hdu 4068 福州赛区网络赛H 排列 ***

    拍的太慢了,很不满意 排完序之后,枚举自己和对手状态,若被击败,则再枚举自己下一个策略,直到可以击败对手所有的策略 #include<cstdio> #include<iostrea ...

  4. hdu 4068 I-number

    #include<stdio.h> #include<string.h> ]; int al; int mysum() //求各位和 { ; al=strlen(a); ; i ...

  5. [置顶] 2013_CSUST暑假训练总结

    2013-7-19 shu 新生训练赛:母函数[转换成了背包做的] shuacm 题目:http://acm.hdu.edu.cn/diy/contest_show.php?cid=20083总结:h ...

  6. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  7. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

  8. hdu 4859 海岸线 Bestcoder Round 1

    http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...

  9. HDU 4569 Special equations(取模)

    Special equations Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

随机推荐

  1. 未能加载文件或程序集“System.Web.Razor”或它的某一个依赖项。文件或目录损坏且无法读取。

    “/”应用程序中的服务器错误. 未能加载文件或程序集“System.Web.Razor”或它的某一个依赖项.文件或目录损坏且无法读取. (异常来自 HRESULT:0x80070570) 说明: 执行 ...

  2. js 获取字符串中最后一个斜杠后面的内容

    var str = "/asdasf/asfaewf/agaegr/trer/rhh"; var index = str .lastIndexOf("\/"); ...

  3. java数据结构和算法------插入排序

    package iYou.neugle.sort; public class Insert_sort { public static void InsertSort(double[] array) { ...

  4. [shell基础]——uniq命令

    uniq命令常见选项      去除重复行      -u  显示不重复的行      -d  显示有重复的行      -c  打印每一行重复的次数 测试文本内容如下: # cat 4.txt 11 ...

  5. Android Paint的使用以及方法介绍(附源码下载)

    要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上.Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法如下: se ...

  6. PBOC电子钱包与电子现金及QPBOC

    电子钱包:EP 电子现金:EC,在PBOC规范中的13部分定义了<基于借贷记应用的小额支付规范中> QPBOC:在PBOC规范的12部分中定义了<费接触式IC卡支付规范> PB ...

  7. 设计模式之Composite(组合)模式

    1.出现原因 1.在面向对象系统中,我们常会遇到一类具有“容器”特征的对象——即它们在充当对象的同时,又是其他对象的容器. 如何将“客户代码与复杂的对象容器结构”解耦(将这种组合容器对象设计成树形结构 ...

  8. 【Valid Number】cpp

    题目: Validate if a given string is numeric. Some examples:"0" => true" 0.1 " = ...

  9. Spring Mvc 输出Json(iwantmoon.com出品)

    原文:http://iwantmoon.com/Post/f94e49caf9b6455db7158474bab4c4dd 因为工作需要,现在要去做开放平台,考虑了多种方案之后,基本确定 下来,Htt ...

  10. gvim config

    配置文件在根目录下 _vimrc set nocompatible source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim ...