暴力搜索加剪枝~

#include<bits/stdc++.h>
using namespace std;
const int maxn=;
int a[maxn];
bool visit[maxn];
vector<int> path,tmp;
int N,M,L,cnt=;
void dfs (int v) {
if (tmp.size()==M) {
int liecnt=,liewolf=;
for (int i=;i<=N;i++) {
if (a[i]<&&visit[abs(a[i])]==false) {
liecnt++;
if (visit[i]==true) liewolf++;
}
else if (a[i]>&&visit[abs(a[i])]==true) {
liecnt++;
if (visit[i]==true) liewolf++;
}
}
if (liecnt==L&&liewolf>=&&liewolf<M&&cnt==) path=tmp,cnt++;
return;
}
if (tmp.size()+v<L) return;
v--;
while (v>=) {
visit[v]=true;
tmp.push_back(v);
dfs (v);
visit[v]=false;
tmp.pop_back();
v--;
}
}
int main () {
scanf ("%d %d %d",&N,&M,&L);
for (int i=;i<=N;i++) {
scanf ("%d",&a[i]);
}
dfs (N+);
if (path.size()==) {
printf ("No Solution");
return ;
}
for (int i=;i<path.size();i++) {
if (i!=) printf (" ");
printf ("%d",path[i]);
}
return ;
}

PAT T1022 Werewolf的更多相关文章

  1. PAT 1148 Werewolf - Simple Version

    1148 Werewolf - Simple Version (20 分)   Werewolf(狼人杀) is a game in which the players are partitioned ...

  2. PAT A1148 Werewolf - Simple Version (20 分)——暴力遍历,负负得正

    Werewolf(狼人杀) is a game in which the players are partitioned into two parties: the werewolves and th ...

  3. PAT 1148 Werewolf - Simple Version [难理解]

    1148 Werewolf - Simple Version (20 分) Werewolf(狼人杀) is a game in which the players are partitioned i ...

  4. PAT (Advanced Level) Practice(更新中)

    Source: PAT (Advanced Level) Practice Reference: [1]胡凡,曾磊.算法笔记[M].机械工业出版社.2016.7 Outline: 基础数据结构: 线性 ...

  5. PAT_A1148#Werewolf - Simple Version

    Source: PAT 1148 Werewolf - Simple Version (20 分) Description: Werewolf(狼人杀) is a game in which the ...

  6. PAT(A) 1148 Werewolf - Simple Version(Java)逻辑推理

    题目链接:1148 Werewolf - Simple Version (20 point(s)) Description Werewolf(狼人杀) is a game in which the p ...

  7. PAT甲级题解分类byZlc

    专题一  字符串处理 A1001 Format(20) #include<cstdio> int main () { ]; int a,b,sum; scanf ("%d %d& ...

  8. 《转载》PAT 习题

    博客出处:http://blog.csdn.net/zhoufenqin/article/details/50497791 题目出处:https://www.patest.cn/contests/pa ...

  9. WereWolf项目 Postmortem

    WereWolf项目 Postmortem (博客园的MarkDown编辑器好像有些问题,编号都显示1..) 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描 ...

随机推荐

  1. 断点调试,issubclass和ininstance的使用

    一等公民 只要可以把一个东西赋值给一个变量,这个东西就叫一等公民 断点调试 在想要加断点的地方用鼠标点击一下,你会看到一个红色圆圈 变红的地方,程序执行到,就会暂停 断电应该加载报错之前 绿色箭头表示 ...

  2. Android学习11

    Android存储概念 File内部存储 通过file=openFileOutput()获得,将数据存储在data/data/+包名+files下面. layout布局文件: <?xml ver ...

  3. 无法创建“System.Object”类型的常量值。此上下文仅支持基元类型或枚举类型

    Entity FreamWork 无法创建“System.Object”类型的常量值.此上下文仅支持基元类型或枚举类型错误解决: 最近在开发中把我原来抄的架构里面的主键由固定的Guid改成了可以泛型指 ...

  4. spark-shell中往mysql数据库写数据报错

    今天在看spark方面的知识的时候,在spark-shell中往mysql写数据时报错,错误信息如下: ERROR Executor: Exception in task 0.0 in stage 4 ...

  5. 前后端分离之 跨域和JWT

    书接上回:https://www.cnblogs.com/yangyuanhu/p/12081525.html 前后端分离案例 现在把自己当成是前端,要开发一个前后分离的简单页面,用于展示学生信息列表 ...

  6. Java_Habse_add

    import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hb ...

  7. Python入门,基本数据类型

    1.Python中的注释 单行注释:#注释内容 多行注释:三引号(单或者是双) ''' 注释内容 ''' """ 注释内容 """ 2.输入 ...

  8. 推荐 C/C++ 人工智能 框架和库

    2018年10月22日 22:59:58 yangminggg 阅读数:2217   值得推荐的C/C++框架和库 C++资源大全 关于 C++ 框架.库和资源的一些汇总列表,内容包括:标准库.Web ...

  9. MAC平台基于Python的Appium环境搭建

    前言 最近笔者要为python+appium课程做准备,mac在2019年重新安装了一次系统,这次重新在mac下搭建appium环境,刚好顺带写个文稿给大家分享分享搭建过程. 一.环境和所需软件概述 ...

  10. dfs+枚举,flip游戏的拓展POJ2965

    POJ 2965             The Pilots Brothers' refrigerator Description The game “The Pilots Brothers: fo ...