Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 5495 | Accepted: 3184 |
Description
3 1 2 4Behind 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.
4 3 6
7 9
16
Input
Output
Sample Input
4 16
Sample Output
3 1 2 4
Hint
Source
3 1 2 4
4 3 6
7 9
16 给16,求3 1 2 4
1 #include <cstdio> 2 #include <algorithm> 3 #include <cstring> 4 #include <iostream> 5 using namespace std; 6 int n,a[15],sum,b[11][11]; 7 bool judge() 8 { 9 int i; 10 for(i=0;i<n;i++) 11 b[0][i]=a[i]; 12 int k=n-1,c=0; 13 while(k--) 14 { 15 c++; 16 for(i=0;i<k+1;i++) 17 b[c][i]=b[c-1][i]+b[c-1][i+1]; 18 } 19 //cout<<b[c][0]<<endl;; 20 return b[c][0]==sum; 21 } 22 int main() 23 { 24 int i,j; 25 while(scanf("%d%d",&n,&sum)!=EOF) 26 { 27 for(i=0;i<n;i++) 28 a[i]=i+1; 29 do{ 30 if(judge()) 31 break; 32 }while(next_permutation(a,a+n)); 33 for(i=0;i<n;i++) 34 printf("%d%c",a[i],i==(n-1)?‘\n‘:‘ ‘); 35 } 36 }
原文:http://www.cnblogs.com/a1225234/p/5150849.html