POJ3187 Backward Digit Sums 全排列经典题目
2016-05-11 21:38
260 查看
Backward Digit Sums
Description
FJ and his cows enjoy playing a mental game. They write down the numbers from 1 to N (1 <= N <= 10) in a certain order and then sum adjacent numbers to produce a new list with one fewer number. They repeat this until only a single number is left. For example,
one instance of the game (when N=4) might go like this:
Behind FJ's back, the cows have started playing a more difficult game, in which they try to determine the starting sequence from only the final total and the number N. Unfortunately, the game is a bit above FJ's mental arithmetic capabilities.
Write a program to help FJ play the game and keep up with the cows.
Input
Line 1: Two space-separated integers: N and the final sum.
Output
Line 1: An ordering of the integers 1..N that leads to the given sum. If there are multiple solutions, choose the one that is lexicographically least, i.e., that puts smaller numbers first.
Sample Input
Sample Output
Hint
Explanation of the sample:
There are other possible sequences, such as 3 2 1 4, but 3 1 2 4 is the lexicographically smallest.
Source
USACO 2006 February Gold & Silver
题意:根据题意,给出一共n行,还有最后一行的数是m。依题意得,第一行一共n个数,而且每个数还不能相等。
输出满足条件的最小的排列,考察next_permutation的用法
Time Limit: 1000MS | Memory Limit: 65536KB | 64bit IO Format: %I64d & %I64u |
FJ and his cows enjoy playing a mental game. They write down the numbers from 1 to N (1 <= N <= 10) in a certain order and then sum adjacent numbers to produce a new list with one fewer number. They repeat this until only a single number is left. For example,
one instance of the game (when N=4) might go like this:
3 1 2 4 4 3 6 7 9 16
Behind FJ's back, the cows have started playing a more difficult game, in which they try to determine the starting sequence from only the final total and the number N. Unfortunately, the game is a bit above FJ's mental arithmetic capabilities.
Write a program to help FJ play the game and keep up with the cows.
Input
Line 1: Two space-separated integers: N and the final sum.
Output
Line 1: An ordering of the integers 1..N that leads to the given sum. If there are multiple solutions, choose the one that is lexicographically least, i.e., that puts smaller numbers first.
Sample Input
4 16
Sample Output
3 1 2 4
Hint
Explanation of the sample:
There are other possible sequences, such as 3 2 1 4, but 3 1 2 4 is the lexicographically smallest.
Source
USACO 2006 February Gold & Silver
题意:根据题意,给出一共n行,还有最后一行的数是m。依题意得,第一行一共n个数,而且每个数还不能相等。
输出满足条件的最小的排列,考察next_permutation的用法
#include <iostream> #include <algorithm> #include <stdio.h> #include <string.h> using namespace std; int a[111][11]; int s[111]; int main() { int n,m; while(~scanf("%d%d",&n,&m)) { for(int i = 1;i <= n;i ++) s[i] = i; do { memset(a,0,sizeof(a)); for(int i = 1;i <= n;i ++) a [i] = s[i]; int t = n; for(int i = t - 1;i >= 1;i --) { for(int j = 1;j <= i;j ++) a[i][j] = a[i+1][j] + a[i+1][j+1]; } if(a[1][1] == m) { for(int i = 1;i < n;i ++) printf("%d ",s[i]); printf("%d\n",s ); break; } ///注意s[i]是从第一个位置开始输出的,所以要对应到next_permutation(s+1,s + n+1) }while(next_permutation(s+1,s + n+1)); } return 0; }
相关文章推荐
- 【REACT NATIVE 系列教程之二】创建自定义组件&&导入与使用示例
- 【REACT NATIVE 系列教程之二】创建自定义组件&&导入与使用示例
- 趣学 C 语言(三)—— 琐碎
- HTTP、HTTPS、TCP、UDP、TCP/IP名词解释及区别
- perl 传递对象到模块
- hihoCoder #1014 : Trie树
- Java开发中的一些概念词汇
- 移植SDL运行库到Tiny6410 上
- perl 传递对象到模块
- perl 传递对象到模块
- Project network redundant , Vmware virtualization, Dell VRTX P2V - Part 2 (VRTX Network)
- C++中的运算符重载-1
- 模块subprocess
- Java流机制详解
- http 头信息详解
- Python入门笔记(17):错误、异常
- 几款主流 NoSql 数据库的对比
- JavaScript:用JS实现加载页面前弹出模态框
- iOS 延迟执行的几种方式 —— HERO博客
- Android中的Drawable