擅长排列的小明II
2016-05-04 08:26
232 查看
先搜索 出来一点结果之后 看结果之间的 联系 得出 递推公式 .
#include<stdio.h> #include<string.h> #include<math.h> #include<iostream> #include<limits.h> #include<algorithm> #include<queue> #include<vector> #include<set> #include<stack> #include<string> #include<sstream> #include<map> #include<cctype> using namespace std; int visited[60],result[60],flag,n; void DFS(int mark) { if(mark==n) flag++; else { for(int i=2;i<=n;i++) { if(abs(i-result[mark])<=2&&!visited[i]) { result[mark+1]=i; visited[i]=1; DFS(mark+1); visited[i]=0; } } } } int main() { while(scanf("%d",&n)!=EOF) { memset(visited,0,sizeof(visited)); visited[1]=result[1]=1; flag=0; DFS(1); printf("%d\n",flag); } return 0; }
可以通过一些 结果推出来 递推公式
#include<stdio.h> #include<string.h> #include<math.h> #include<iostream> #include<limits.h> #include<algorithm> #include<queue> #include<vector> #include<set> #include<stack> #include<string> #include<sstream> #include<map> #include<cctype> using namespace std; int main() { int n,ac[57]={0,1,1,2}; for(int i=4;i<=55;i++) ac[i]=ac[i-1]+ac[i-3]+1; while(~scanf("%d",&n)) { printf("%d\n",ac ); } return 0; }
相关文章推荐
- 【收藏用】切勿转载--为ListView每个Item上面的按钮添加事件
- C++实现一个按键精灵
- WiFi-Portal认证中的坑:osx portal页面无法和portal server通信问题
- R文件导入导出与快捷键
- LeetCode 206. Reverse Linked List(翻转链表)
- 50道题
- 浅谈java向上转型和乡下转型
- Win10商店恢复详情 PC和手机可以正常访问和下载应用
- volatile修饰符
- 关于URL
- Java LinkedList源码剖析
- 使用 MySQL 查找附近的位置
- 异步vs非阻塞
- DB2 数据库之数据打平函数
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
- Java代码中单例模式总结
- mysql 登录、退出
- Spark笔记一之启动、简单RDD、提交、测试
- 最小生成树(prime算法、kruskal算法) 和 最短路径算法(floyd、dijkstra)
- MVC5+EF6 入门完整教程12--灵活控制Action权限