Solução: Problema do baile de casais (Cátia Souza)

From AdonaiMedrado.Pro.Br
Revision as of 13:25, 20 May 2009 by 200.17.147.2 (Talk) (New page: import java.io.BufferedReader; import java.io.Console; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.ut...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

import java.io.BufferedReader; import java.io.Console; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Scanner; import java.util.SortedMap; import java.util.SortedSet; import java.util.TreeSet;


public class BaileCasais {

/** * @param args */ public static void main(String[] args) throws IOException{


ArrayList<Integer> Homens = new ArrayList<Integer>(); SortedSet<Integer> Mulheres= new TreeSet<Integer>();

       Scanner scanner = new Scanner( System.in );
       Integer numeroConvidados = scanner.nextInt();
             
       while(numeroConvidados>0){
       	Integer convidado;
       	if((convidado = scanner.nextInt())%2==0){
       		Mulheres.add(convidado);
       	}
       	else{
       		Homens.add(convidado);
       	}
       	numeroConvidados--;
       }
       System.out.println(juntaCasais(Homens,Mulheres));
       
       

}

public static Character juntaCasais(ArrayList<Integer> homis, SortedSet<Integer> muies){ int iteracoes = muies.size(); boolean juntou;

while(iteracoes>=0){ if(!muies.isEmpty()){ Integer muie = muies.last(); juntou=false; for(Integer homi: homis){ if((juntou==false) && (homi>muie)){ muies.remove(muie); juntou = true; } } if(juntou==false) return 'F'; iteracoes--; } else{ break; }


}

if(muies.isEmpty()){ return 'S'; }

return 'F';

}

}