国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

POJ3187-Backward Digit Sums-窮竭搜索

2019-11-08 18:28:21
字體:
來源:轉載
供稿:網友

原題鏈接 Backward Digit Sums Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6887 Accepted: 3998 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:

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

#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int maxn=10000000 + 10;int a[2][maxn],used[maxn];int main(){ int n,sum; cin >> n >> sum; for(int i=0;i<=n;i++) used[i]=i; a[1][0]=a[1][1]=1; for(int i=2;i<n;i++){ a[i&1][0]=1; for(int j=1;j<=i;j++){ a[i&1][j] = a[(i-1)&1][j] + a[(i-1)&1][j-1]; } } do{ int tsum=0; for(int i=1;i<=n;i++){ tsum += a[(n-1)&1][i-1] * used[i]; } if(tsum==sum) break; }while(next_permutation(used+1,used+n+1)); for(int i=1;i<=n;i++) cout << used[i] <<" "; return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁安市| 开封市| 从江县| 习水县| 鄂托克旗| 伊吾县| 贡觉县| 茌平县| 益阳市| 阳新县| 和田市| 泾川县| 罗山县| 札达县| 马龙县| 中方县| 新郑市| 突泉县| 津市市| 岑溪市| 黄龙县| 沙坪坝区| 阿克| 南昌县| 华坪县| 万载县| 五莲县| 北川| 怀宁县| 宁强县| 亳州市| 精河县| 崇义县| 五家渠市| 黑龙江省| 公安县| 文山县| 兴隆县| 千阳县| 库伦旗| 措美县|