Skip to content

Commit d3ec175

Browse files
authored
Update and rename DoAIGotSkills.c to Set-Covering-Problem.c
1 parent 1f31757 commit d3ec175

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

DoAIGotSkills.c renamed to Set-Covering-Problem.c

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
#include <stdio.h>
22
#include "genlib.h"
33
#include "simpio.h"
4-
4+
//afairese = remove
5+
// red checks if universe is already in resault
6+
// yellow checks if universe is already traversed
57
void afairesi(int a,int b,int pl,int number,int table[pl][number],int arxikoCount[pl],int uncoveredCount[pl],int metablitoCount[pl],int col_table[number],int keep);
68
bool check(int pl,int uncoveredCount[pl]);
79
bool red(int keep,int k,int pl,int number,int table[pl][number],int arxikoCount[pl],int uncoveredCount[pl],int metabalomenoCount[pl],int col_table[number]);
810
bool yellow(int k,int keep,int pl,int uncoveredCount[pl],int metabalomenoCount[pl],int number,int col_table[number]);
9-
11+
//import data
1012
int main(){
1113
int i,j,pl,number,ap;
12-
printf("Dose sinoliko plithos atomon:");
14+
printf("Give max sets(eg people)");
1315
scanf("%d",&pl);
14-
printf("Dose sinolikes glosses programmatismou:");
16+
printf("Give max universes(eg skills)");
1517
scanf("%d",&number);
1618
int table[pl][number];
1719
for(i=0; i<pl; i++){
1820
for(j=0; j<number; j++){
19-
printf("o %d kserei tin glossa programmatismou %d: 0 OXI,1 NAI: ",i+1,j+1);
21+
printf("person %d knows skill %d: 0 NO,1 YES: ",i+1,j+1);
2022
scanf("%d",&ap);
2123
table[i][j] = ap;
2224
}
@@ -47,10 +49,13 @@ int main(){
4749
arxikoCount[i] = uncoveredCount[i];
4850
metabalomenoCount[i] = uncoveredCount[i];
4951
}
52+
53+
//code starts here
5054
int keep;
5155
int max,l;
5256
int m = 0;
5357
while(check(pl,uncoveredCount)){
58+
//finds max number of skills in one set
5459
max = uncoveredCount[0];
5560
keep = 0;
5661
for(j=1; j<pl; j++){
@@ -61,13 +66,15 @@ int main(){
6166
}
6267
resaultCover[m] = keep;
6368
m++;
69+
//removes this universe from other sets
6470
afairesi(0,keep,pl,number,table,arxikoCount,uncoveredCount,metabalomenoCount,col_table,keep);
6571
afairesi(keep+1,pl,pl,number,table,arxikoCount,uncoveredCount,metabalomenoCount,col_table,keep);
6672
uncoveredCount[keep] = -100;
6773
for(l=0; l<pl; l++){
6874
metabalomenoCount[l] = arxikoCount[l];
6975
}
7076
}
77+
//print results
7178
for(i=0; i<m; i++){
7279
printf("Accepted: %d\n",resaultCover[i]+1);
7380
}

0 commit comments

Comments
 (0)