设$f[i][j][k]$表示从房间$j$的第$k$扇门进去探索不超过$i$步的情况。

对于$0$步的情况,可以用每个房间的度数来表示。

否则可以绕着那个房间走一圈,将所有情况依次hash来表示。

最后对于每个房间求出$f$的最小表示,即可完成hash。

时间复杂度$O(n^4)$。

#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
typedef unsigned long long ll;
const int N=105;
int n,m,i,j,k,t,o,x,d[N],a[N][N],b[N][N],q[N];ll f[2][N][N];
vector<ll>g[N];vector<int>ans[N];
inline bool cmp(int x,int y){return g[x]==g[y]?x<y:g[x]<g[y];}
int main(){
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&d[i]);
for(j=1;j<=d[i];j++)scanf("%d",&a[i][j]),b[i][a[i][j]]=j;
}
for(i=1;i<=n;i++)for(j=1;j<=d[i];j++)f[0][i][j]=d[i]+1;
for(i=1;i<=n;i++){
o^=1;
for(j=1;j<=n;j++)for(k=1;k<=d[j];k++){
f[o][j][k]=f[o^1][j][k]*10007+13331;
x=a[j][k];
for(t=b[x][j];t<=d[x];t++)f[o][j][k]=f[o][j][k]*233+f[o^1][x][t];
for(t=1;t<b[x][j];t++)f[o][j][k]=f[o][j][k]*233+f[o^1][x][t];
}
}
for(i=1;i<=n;i++){
for(j=1;j<=d[i];j++)g[i].push_back(f[o][i][j]);
for(j=2;j<=d[i];j++){
vector<ll>h;
for(k=j;k<=d[i];k++)h.push_back(f[o][i][k]);
for(k=1;k<j;k++)h.push_back(f[o][i][k]);
g[i]=max(g[i],h);
}
g[i].push_back(d[i]);
q[i]=i;
}
sort(q+1,q+n+1,cmp);
for(i=1;i<=n;i=j){
for(j=i;j<=n&&g[q[i]]==g[q[j]];j++);
if(i+1==j)continue;
for(m++,k=i;k<j;k++)ans[m].push_back(q[k]);
}
if(!m)puts("none");
else{
sort(ans+1,ans+m+1);
for(i=1;i<=m;i++){
printf("%d",ans[i][0]);
for(j=1;j<ans[i].size();j++)printf(" %d",ans[i][j]);
puts("");
}
}
return 0;
}

  

BZOJ4076 : [Wf2014]Maze Reduction的更多相关文章

  1. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  2. Backtracking algorithm: rat in maze

    Sept. 10, 2015 Study again the back tracking algorithm using recursive solution, rat in maze, a clas ...

  3. Lattice Reduction (LLL) 算法C代码实现

    废话不多说,大名鼎鼎的Lenstra-Lenstra-Lovasz(LLL) 算法.实现参考论文:Factoring Polynomials with Rational Coefficients, 作 ...

  4. (期望)A Dangerous Maze(Light OJ 1027)

    http://www.lightoj.com/volume_showproblem.php?problem=1027 You are in a maze; seeing n doors in fron ...

  5. Stanford机器学习笔记-10. 降维(Dimensionality Reduction)

    10. Dimensionality Reduction Content  10. Dimensionality Reduction 10.1 Motivation 10.1.1 Motivation ...

  6. CUDA中并行规约(Parallel Reduction)的优化

    转自: http://hackecho.com/2013/04/cuda-parallel-reduction/ Parallel Reduction是NVIDIA-CUDA自带的例子,也几乎是所有C ...

  7. 1204. Maze Traversal

    1204.   Maze Traversal A common problem in artificial intelligence is negotiation of a maze. A maze ...

  8. uva705--slash maze

    /*这道题我原本是将斜线迷宫扩大为原来的两倍,但是在这种情况下对于在斜的方向上的搜索会变的较容易出错,所以参考了别人的思路后将迷宫扩展为原来的3倍,这样就变成一般的迷宫问题了*/ #include&q ...

  9. HDU 4048 Zhuge Liang's Stone Sentinel Maze

    Zhuge Liang's Stone Sentinel Maze Time Limit: 10000/4000 MS (Java/Others)    Memory Limit: 32768/327 ...

随机推荐

  1. 论文阅读笔记十五:Pyramid Scene Parsing Network(CVPR2016)

    论文源址:https://arxiv.org/pdf/1612.01105.pdf tensorflow代码:https://github.com/hellochick/PSPNet-tensorfl ...

  2. 牛客寒假算法基础集训营4 I题 Applese 的回文串

    链接:https://ac.nowcoder.com/acm/contest/330/I 来源:牛客网 自从 Applese 学会了字符串之后,精通各种字符串算法,比如--判断一个字符串是不是回文串. ...

  3. -webkit-,-moz-,-ms-,-o-具体指什么了?

    -webkit-,-moz-,-ms-,-o-具体指什么了? -webkit-,-moz-,-ms-,-o-是指浏览器私有前缀名. 那为什么要有私有前缀呢? 因为制定HTML和CSS标准的组织W3C动 ...

  4. 【AtCoder】ARC077

    C - pushpush 如果是按下标说的话 如果是偶数个 那么是 \(N,N - 2,N - 4...1,3,5...N - 1\) 如果是奇数个 \(N,N - 2,N - 4...2,4,6.. ...

  5. x86 版的 Arduino Intel Galileo 开发板的体验、分析和应用

    1.前言 在今年(2013)罗马举办的首届欧洲 Make Faire 上,Intel 向对外发布了采用 x86 构架的 Arduino 开发板:Intel Galileo.这无疑是一个开源硬件领域的重 ...

  6. js前端ajax提交list集合参数至后端

    var orderNosList = new Array(); var rows = $("#dg_linkOrder").datagrid("getChecked&qu ...

  7. php通过CURL模拟post提交请求

    <?php header("Content-type:text/html;charset=utf-8"); class Test{ public function reque ...

  8. HDU4622 Reincarnation 字符串 SAM

    原文链接https://www.cnblogs.com/zhouzhendong/p/HDU4622.html 题目传送门 - HDU4622 题意 多组数据. 对于每一组数据,给定一个字符串 s , ...

  9. Quratz的理解

    一:公共术语 1.为什么使用Qurztz 在某一个有规律的时间点干某件事.并且时间的触发的条件可以非常复杂(比如每月最后一个工作日的17:50),复杂到需要一个专门的框架来干这个事. Quartz就是 ...

  10. Ubuntu Navicat 安装破解+解决乱码+其他问题

    一 下载安装 Navicat Premium: https://www.navicat.com.cn/download/navicat-premium Navicat products: https: ...