Skip to content

Commit ec7c2de

Browse files
Update Subset_Sum_Equal.c
1 parent 588af8b commit ec7c2de

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

Brute-Force-Strategy-Simple-Programs/Subset_Sum_Equal.c

+8-11
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,20 @@
3030

3131
#include<stdio.h>
3232
int sum=0;
33-
int find(int a[],int ans[],int i,int n)
33+
int find(int a[],int *ans,int i,int n)
3434
{
3535
if(i==n)
36-
{
37-
int t=0;
38-
for(int i=0;i<n;i++)
39-
t+=ans[i];
40-
return ((t*2)==sum)?1:0;
41-
}
36+
return (((*ans)*2)==sum)?1:0;
4237
else
4338
{
44-
ans[i]=a[i];
39+
(*ans)+=a[i];
40+
if((*ans)*2==sum)
41+
return 1;
4542
if(find(a,ans,i+1,n))
4643
return 1;
4744
else
4845
{
49-
ans[i]=0;
46+
(*ans)-=a[i];
5047
if(find(a,ans,i+1,n))
5148
return 1;
5249
}
@@ -57,7 +54,7 @@ int main()
5754
{
5855
int n;
5956
scanf("%d",&n);
60-
int a[n],ans[n];
57+
int a[n],ans=0;
6158
for(int i=0;i<n;i++)
6259
{
6360
scanf("%d",&a[i]);
@@ -66,5 +63,5 @@ int main()
6663
if(sum%2!=0)
6764
printf("false");
6865
else
69-
(find(a,ans,0,n))?printf("true"):printf("false");
66+
(find(a,&ans,0,n))?printf("true"):printf("false");
7067
}

0 commit comments

Comments
 (0)