Advertisement
Space-G

Família Real

May 29th, 2015
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.06 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     int n, m, i, j, k, g, teste=0;
  8.     scanf ("%d %d", &n, &m);
  9.     g=1;
  10.     int p[n], f[n], c[m];
  11.     for (i=0;i<n;i++) //Scanf
  12.     {
  13.         scanf ("%d", &p[i]);
  14.         f[i]=0;
  15.     }
  16.     for (i=0;i<n;i++) //1ª geração
  17.     {
  18.         if (p[i]==0)
  19.         {
  20.             f[i]=1;
  21.         }
  22.     }
  23.     for (k=0;k<n;k++)
  24.     {
  25.         for (i=0;i<n;i++)
  26.             {
  27.                 if (f[i]==g)
  28.                     {
  29.                         for (j=0;j<n;j++)
  30.                             {
  31.                                 if (p[j]==i+1)
  32.                                     {
  33.                                         f[j]=g+1;
  34.                                         teste++;
  35.                                     }
  36.                             }
  37.                     }
  38.             }
  39.         if (teste>0)
  40.         {
  41.             g++;
  42.             teste=0;
  43.         }
  44.     }
  45.     g-=1;
  46.     int a[g];
  47.     for (i=0;i<g;i++)
  48.     {
  49.         a[i]=0;
  50.     }
  51.     for (i=0;i<m;i++)//Erro aqui
  52.     {//ESSA PORRA TÁ DANDO FLOATING POINT EXCEPTION (CORE DUMPED), QUANDO NÃO BUGA COMO NO VÍDEO QUE VOU TE MANDAR
  53.         scanf ("%d", &c[i]);
  54.         //printf ("%d lido\n", i);
  55.     }
  56.     for (i=0;i<n;i++)
  57.     {
  58.         for (j=0;j<g;j++)
  59.         {
  60.             if (f[i]==j)
  61.             {
  62.                 a[j]++;//
  63.             }
  64.         }
  65.     }
  66.     for (i=0;i<m;i++)
  67.     {
  68.         for (j=0;j<n;j++)
  69.         {
  70.             for (k=0;k<g;k++)
  71.             {
  72.                 if (f[c[i]]==k)
  73.                 {
  74.                     c[i]=k;
  75.                 }
  76.             }
  77.         }
  78.     }
  79.     int ac[g];
  80.     for (i=0;i<g;i++)
  81.     {
  82.         ac[i]=0;
  83.     }
  84.     for (i=0;i<m;i++)
  85.     {
  86.         for (j=0;j<g;j++)
  87.         {
  88.             if (c[i]==j)
  89.             {
  90.                 ac[j]++;
  91.             }
  92.         }
  93.     }
  94.     for (i=0;i<g;i++)
  95.     {
  96.         printf ("%.2f ", a[i]/ac[i]);
  97.     }
  98.     return 0;
  99. }
  100.  
  101. // f do convidado nº algo = sua geração
  102. //input:
  103. //9 5
  104. //7 3 0 9 0 3 5 6 7
  105. //3 2 8 1 9
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement