国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 麻江县| 炉霍县| 长顺县| 中超| 明水县| 阳山县| 武宁县| 崇州市| 罗山县| 太康县| 绥江县| 无极县| 喀喇沁旗| 珠海市| 陈巴尔虎旗| 瓦房店市| 南平市| 漳浦县| 漳平市| 彰武县| 北宁市| 宜宾市| 伽师县| 峨眉山市| 大新县| 西乌| 龙陵县| 柏乡县| 江油市| 浑源县| 项城市| 韶山市| 南召县| 望谟县| 通海县| 从化市| 望都县| 铁岭县| 盘山县| 稻城县| 清涧县|