fork(71) download
  1.  
Success #stdin #stdout 0.01s 2728KB
stdin
#include <iostream>

using namespace std;

void adjacencia(int mat[][30]){
int matriz[30][30] = {{1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{1, 1, 0, 0, 0, 0, 0, 0 ,1, 0, 0, 1, 0 ,0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1 ,0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ,0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0 ,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0 ,0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,0, 1, 1, 0, 0, 1, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0},
{0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}};

for(int i=0; i<30; ++i){
for(int j=0; j<30; ++j){
    mat[i][j] = matriz[i][j];}}}

void populacao(int vet[]){
int vetor[30] = {30, 20, 20, 8, 99, 99, 10, 10, 15, 15, 100, 5, 5, 31, 31, 32, 32, 99, 99, 12, 12,
66, 66, 20, 20, 2, 2, 3, 3, 100};
for(int i=0; i<30; i++)
vet[i]= vetor[i];}

void soma(int vet[],int mat[][30], int soma[]){
for(int i=0; i<30; ++i){
soma[i] = 0;
for(int j=0; j<30; ++j){
if(mat[i][j]==1){
soma[i]= soma[i] + vet[j];}}}}

void maior(int vet[30]){
int i;
for(i=0; i<30; i++){
if(vet[i]>=vet[0] & vet[i]>=vet[1] & vet[i]>=vet[2] & vet[i]>=vet[3] & vet[i]>=vet[4] &
vet[i]>=vet[5] & vet[i]>=vet[6] & vet[i]>=vet[7] & vet[i]>=vet[8] & vet[i]>=vet[9] & vet[i]>=vet[10]
& vet[i]>=vet[11] & vet[i]>=vet[12] & vet[i]>=vet[13] & vet[i]>=vet[14] & vet[i]>=vet[15] &
vet[i]>=vet[16] & vet[i]>=vet[17] & vet[i]>=vet[18] & vet[i]>=vet[19] & vet[i]>=vet[20] &
vet[i]>=vet[21] & vet[i]>=vet[22] & vet[i]>=vet[23] & vet[i]>=vet[24] & vet[i]>=vet[25] &
vet[i]>=vet[26] & vet[i]>=vet[27] & vet[i]>=vet[28] & vet[i]>=vet[29]){
printf("\n\nCidade %d atende o maior nuhmero de populacao.\n",i+1);}}}


int main()
{
int vet [30], S[30], mat[30][30], i = 0;
adjacencia(mat);
populacao(vet);
soma(vet, mat, S);
for(;i<30; i++){
printf("\nCidade %d atende %d.000 de populacao",i+1, S[i]);}
maior(S);
}
stdout
Cidade 1 atende 60 de populacao
Cidade 2 atende 218 de populacao
Cidade 3 atende 218 de populacao
Cidade 4 atende 246 de populacao
Cidade 5 atende 306 de populacao
Cidade 6 atende 306 de populacao
Cidade 7 atende 50 de populacao
Cidade 8 atende 50 de populacao
Cidade 9 atende 50 de populacao
Cidade 10 atende 113 de populacao
Cidade 11 atende 208 de populacao
Cidade 12 atende 137 de populacao
Cidade 13 atende 137 de populacao
Cidade 14 atende 78 de populacao
Cidade 15 atende 78 de populacao
Cidade 16 atende 68 de populacao
Cidade 17 atende 68 de populacao
Cidade 18 atende 134 de populacao
Cidade 19 atende 134 de populacao
Cidade 20 atende 126 de populacao
Cidade 21 atende 126 de populacao
Cidade 22 atende 89 de populacao
Cidade 23 atende 89 de populacao
Cidade 24 atende 32 de populacao
Cidade 25 atende 32 de populacao
Cidade 26 atende 25 de populacao
Cidade 27 atende 25 de populacao
Cidade 28 atende 170 de populacao
Cidade 29 atende 170 de populacao
Cidade 30 atende 298 de populacao
Cidade 5 atende o maior nuhmero de populacao.
Cidade 6 atende o maior nuhmero de populacao.