机测,新一代的三角
2016-05-12 19:14
295 查看
新数字三角形问题 #include <bits/stdc++.h> using namespace std; int pp[260][260], bb[260][260], n, x[260],y[260], k; void DFS(int i, int j) { if(i >= n || j > n) return; else if(bb[i+1][j] >= bb[i+1][j+1]) { i = i+1; j = j; x[k] = i; y[k++] = j; DFS(i, j); } else if(bb[i+1][j] < bb[i+1][j+1]) { i = i+1; j = j+1; x[k] = i; y[k++] = j; DFS(i, j); } } int main() { while(cin >> n) { k = 1; for(int i = 1; i <= n; i++) { for(int j = 1; j <= i; j++) cin >> pp[i][j]; } for(int i = 1; i <= n; i++) bb [i] = pp [i]; for(int i = n-1; i >= 1; i--) { for(int j = 1; j <= i; j++) { pp[i][j] = max(pp[i+1][j], pp[i+1][j+1]) +pp[i][j]; bb[i][j] = pp[i][j]; } } cout << pp[1][1] << endl; DFS(1, 1); for(int i = k-1; i >= 1; i--) { cout << x[i] << ' ' << y[i] << endl; } cout << 1 << ' ' << 1 << endl; } return 0; }
相关文章推荐
- 源码安装xtrabackup
- ListView的使用技巧
- Java GC系列(4):垃圾回收监视和分析
- Ubuntu 文件压缩与解压缩
- vc++6.0的scanf问题
- mysql事务隔离性(mysql transaction isolation level)
- Java GC系列(3):垃圾回收器种类
- onTouch事件的传递,以及一些很有用的监听
- Ubuntu 查看系统是32位还是64位
- java中 == 与equals 的区别
- 如何优雅的使用WIN7——不常用快捷方式
- 数数有多少个矩形
- Python代码块批量添加Tab缩进
- Java GC系列(2):Java垃圾回收是如何工作的?
- struts2 上传文件 找不到路径问题
- Ubuntu 查看ubuntu版本
- ButterKnife--View注入框架
- 机测,爆炸的兔兔
- 读书
- POJ3111