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 5224 Tom and paper
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5224 Tom and paper Description There is a piece of pa ...
- bzoj 3196/tyvj p1730 二逼平衡树
原题链接:http://www.tyvj.cn/p/1730 树套树... 如下: #include<cstdio> #include<cstdlib> #include< ...
- random_names随机名字生成
// 先从txt文件中获取姓和名数组 - (void)getNames{ NSString *resourcePath1 = [[NSBundle mainBundle] pathForResourc ...
- iOS七大手势之(平移、捏合、轻扫、屏幕边缘轻扫)手势识别器方法
使用手势很简单,分为两步: 创建手势实例.当创建手势时,指定一个回调方法,当手势开始,改变.或结束时,回调方法被调用. 添加到需要识别的View中.每个手势只对应一个View,当屏幕触摸在View的边 ...
- ubuntu中安装Rstdio无法切换中文输入法
安装了RStudio,发现没法切换出中文输入法,搜索了一下 具体参考这里:https://support.rstudio.com/hc/en-us/articles/205605748-Using-R ...
- QT中实现中文的显示与国际化
1 增加头文件 #include "QTextCodec" 2 在文件中增加如下内容 QTextCodec::setCodecForTr(QTextCodec::codecF ...
- 在使用SQLite插入数据时出现乱码的解决办法
在VC++中通过sqlite3.dll接口对sqlite数据库进行操作,包括打开数据库,插入,查询数据库等,如果操作接口输入参数包含中文字符,会导致操作异常.例如调用sqlite3_open打开数 ...
- MATLAB中匿名函数与符号函数的转换
符号函数举例: syms x y=x+1; y1=diff(y); %求导 匿名函数举例: z=@(x)(x(1)+2*x(2)); t=z([2 3]); %计算z在x=[2 3]处的值 z=@(x ...
- 提取html中的src 路径
/// <summary> /// 替换body中的img src属性 附加上域名 /// </summary> /// <param name="str&qu ...
- Netsharp快速入门(之18) 平台常用功能(工作区相关)
作者:秋时 转载须说明出处 第6章 平台功能 6.1 部件二次开发设置 6.1.1 工具栏管理 1.从单据二次开发-工具栏管理进入 2.主要设置显示,对应的方法名或设置权限相关操作 ...