/*输入股民耐心天数和期望值,输出股民买入卖出之间可能的每天股价变化(只有+1,-1,0三种)*/
#include<iostream>
using namespace std;
int n;
int k;
int *trend;
int num=0;
void display(int d){
for(int i=0;i<d;i++)
cout<<trend[i]<<' ';
cout<<endl;
num++;
}
void solution(int day,int profit){
if(profit==k){
display(day);
return;
}
if(day==n) return;
trend[day]=1;
solution(day+1,profit+1);
trend[day]=-1;
solution(day+1,profit-1);
trend[day]=0;
solution(day+1,profit);
}
int main(){
cin>>n>>k;
trend=new int[n];
solution(0,0);
cout<<"count="<<num;
delete []trend;
}
一道算法题
于 2022-11-22 22:04:09 首次发布