karlangadas

LAB1 Prob1 - Algoritmia 2016-2

Sep 6th, 2016
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.39 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define M 5000
  4. #define N 2
  5.  
  6. /*
  7.  * El problema1 se resolverá con fuerza bruta
  8.  */
  9.  
  10. int main(int argc, char** argv) {
  11.     //di=dia inicial; df=dia final,amigo=guarda los que sí pueden ir a la fiesta
  12.     int amigo[M],genero[M],di[M],df[M];
  13.     //n= número de amigos
  14.     int n,i,j,k,l,maxtmp,maxreal,nhombres,nmujeres;
  15.     scanf("%d", &n);
  16.    
  17.     //leemos los datos
  18.     for(i=0;i<n;i++){
  19.         scanf("%d %d %d",&genero[i],&di[i],&df[i]);
  20.     }
  21.     //ya que estamos resolviendolo por fuerza bruta, probaremos todas las combinaciones posibles
  22.     maxreal=0;
  23.     for(i=0;i<n;i++){
  24.         maxtmp=1;
  25.         amigo[maxtmp-1]=i;
  26.         //maximo de personas que pueden ir un mismo día, sin importar genero
  27.         for (j=i+1;j<n;j++){
  28.             if(di[j]<=df[i]){
  29.                 //arreglo con las personas que pueden ir
  30.                 amigo[maxtmp]=j;
  31.                 maxtmp++;
  32.             }
  33.         }
  34.         //contamos el número de hombres y mujeres
  35.         nhombres=0;
  36.         nmujeres=0;
  37.         for (k=0;k<maxtmp;k++){
  38.             l=amigo[k];
  39.             if (genero[l]==1)
  40.                 nmujeres++;
  41.             else
  42.                 nhombres++;
  43.         }
  44.         //vemos la condición
  45.         if ((nhombres==nmujeres)&& maxtmp>maxreal){
  46.             maxreal=maxtmp;
  47.         }
  48.     }
  49.     printf("%d",maxreal);
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment