package com.greedy;
public class ActivitySelect {
private int[][]activity;
private int[][]select;
private int index;
public ActivitySelect(int[][]activity){
this.activity=activity;
select=new int[activity.length][2];
}
public void activitySelector(){
inneractivitySelector(0);
printActivity();
}
private void inneractivitySelector(int start){
int m=start+1;
if(m==activity.length){
select[index][0]=activity[start][0];
select[index][1]=activity[start][1];
}else{
while(m<activity.length&&activity[m][0]<activity[start][1]){
m=m+1;
}
if(m<activity.length){
select[index][0]=activity[start][0];
select[index][1]=activity[start][1];
index=index+1;
inneractivitySelector(m);
}
}
}
public void printActivity(){
for(int i=0;i<select.length;i++){
if(select[i][0]==0){
break;
}
System.out.print("("+select[i][0]+","+select[i][1]+") ");
}
System.out.println();
}
public static void main(String[] args) {
int[][]activity=new int[][]{
{1,4},
{3,5},
{0,6},
{5,7},
{3,9},
{5,9},
{6,10},
{8,11},
{8,12},
{2,14},
{12,16}
};
ActivitySelect select=new ActivitySelect(activity);
select.activitySelector();
}
}