老王负责电力公司的线损分析,最近发现有些台区的电量数据异常,具体表现为部分用户的电量数据未计入总的电量值。请你编写一个程序,帮老王分析下总电量值是哪些户的合计。
数据保证有解且有唯一解。
第一行输入用户数量 n(1≤n≤10)和合计电量 m。
接下来 n 行每行一个电量值 d(0<d≤1000)。
输出组成合计电量的各户电量值,按输入顺序输出,每行一个数。
3 2.5
1.1
1.2
1.3
1.2
1.3
下面是 mycode,不知为何输入不完全
(比如样例 1,输入 3 2.5 直接结束了)
#include<iostream>
using namespace std;
int n,m,d[15];
bool x[15]={false};
void print(){
int num;
for(int i=1;i<=n;i++)
if(x[i]==true)
num+=d[i];
if(num==m)
cout<<num;
}
void dfs(int deep){
if(deep>n){
print();
return;
}
for(int i=1;i<=n;i++){
if(!x[i]){
x[i]=true;
dfs(deep+1);
x[i]=false;
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>d[i];
dfs(1);
return 0;
}