汉诺塔VII
2016-07-04 17:55
274 查看
http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2§ionid=2&problemid=3
每次最大的盘 只能放在a->c
#include<bits/stdc++.h>
using namespace std;
int f[30];
int dfs(int n,int a,int c,int b)
{
if(n<=0) return true;
if(f
==b) return false;
if(f
==a) return dfs(n-1,a,b,c);
return dfs(n-1,b,c,a);
}
int main()
{
int i,j,k,m,n,t,ans,tmp;
cin>>t;
while(t--)
{
cin>>n;
for(i=0;i<3;i++)
{
cin>>m;
for(j=0;j<m;j++) cin>>tmp,f[tmp]=i;
}
if(dfs(n,0,2,1)) cout<<"true"<<endl;
else cout<<"false"<<endl;
}
return 0;
}
每次最大的盘 只能放在a->c
#include<bits/stdc++.h>
using namespace std;
int f[30];
int dfs(int n,int a,int c,int b)
{
if(n<=0) return true;
if(f
==b) return false;
if(f
==a) return dfs(n-1,a,b,c);
return dfs(n-1,b,c,a);
}
int main()
{
int i,j,k,m,n,t,ans,tmp;
cin>>t;
while(t--)
{
cin>>n;
for(i=0;i<3;i++)
{
cin>>m;
for(j=0;j<m;j++) cin>>tmp,f[tmp]=i;
}
if(dfs(n,0,2,1)) cout<<"true"<<endl;
else cout<<"false"<<endl;
}
return 0;
}
相关文章推荐
- 读书笔记-java网络编程-4Internet-NetworkInterface类
- saltstack安装配置
- Webview 和js之间安全交互
- JavaScript的 Event Loop 模型
- unable to dequeue a cell with identifier cell - must register a nib or a class for the identifier or
- Android端 WebP图片压缩与传输的一点探索
- dataTables笔记
- 暴风魔镜实现一个简单的VR
- Java笔记--垃圾回收机制
- 升级版draggedLayout *固定其中一个按钮*
- getInstalledPackages的参数详解
- 【微信开发】上传下载多媒体文件
- geotrellis使用(十三)数据导入BUG解决方案说明
- 海量数据处理 算法总结
- java 的transient关键字的作用
- C++枚举
- Android之Launcher分析和修改2——Icon修改、界面布局调整、壁纸设置
- 数据库复习(3)
- Hibernate连接池配置
- msmms (二) sms与mms 简述!