杨辉三角
程序员文章站
2022-04-22 10:53:39
...
原文链接:https://www.luogu.com.cn/problem/P1118
AC代码:
#include<iostream>
#include<string.h>
#include<vector>
#include<math.h>
#include<algorithm>
using namespace std;
int n,sum=0,visit[13];
int c[13][13];
vector<int> vec;
void dfs(int now,int s){
int i,j;
if(s>sum) return ;
if(now>n){
if(s==sum){
for(i=0;i<vec.size();i++){
cout<<vec[i]<<" ";
}
exit(0);
}
return ;
}
for(i=1;i<=n;i++){
if(visit[i]==1) continue;
visit[i]=1;
vec.push_back(i);
dfs(now+1,s+i*c[n][now]);
vec.pop_back();
visit[i]=0;
}
}
int main(){
int i,j;
cin>>n>>sum;
c[1][1]=1;
for(i=2;i<=n;i++){
for(j=1;j<=i;j++){
c[i][j]=c[i-1][j]+c[i-1][j-1];
}
}
memset(visit,0,sizeof(visit));
dfs(1,0);
return 0;
}
上一篇: 单独为主流浏览器单独定义的CSS样式
下一篇: XMemcached发布1.1.3