-
Notifications
You must be signed in to change notification settings - Fork 0
/
real.cpp
39 lines (38 loc) · 1.18 KB
/
real.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, m, quant = 0; cin >> n >> m;
vector<int> descendentes(n);
vector<int> participantes(m);
vector<int> pais;
vector<float> porcentagens;
pais.push_back(0);
vector<int> filhos;
for(int i = 0; i < n; i++) cin >> descendentes[i];
for(int i = 0; i < m; i++) cin >> participantes[i];
do{
int filhos_participantes = 0;
for(int i : pais){
for(int j = 0; j < n; j++){
if(i == descendentes[j]){
filhos.push_back(j+1);
quant++;
}
}
}
for(int i : filhos){
for(int j = 0; j < m; j++){
if(i == participantes[j]) filhos_participantes++;
}
}
porcentagens.push_back((float)filhos_participantes/(float)filhos.size());
pais.clear();
for(int i : filhos) pais.push_back(i);
filhos.clear();
}while(quant < n);
for(int i = 0; i < porcentagens.size(); i++){
cout << fixed << setprecision(2) << porcentagens[i]*100;
if(i != porcentagens.size()-1) cout << " ";
else cout << endl;
}
}