I2luY2x1ZGUgJmx0O2lvc3RyZWFtJmd0OwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgYWRqYWNlbmNpYShpbnQgbWF0W11bMzBdKXsKaW50IG1hdHJpelszMF1bMzBdID0ge3sxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwfSwKezAsIDEsIDAsIDEsIDAsIDAsIDAsIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDB9LAp7MCwgMCwgMSwgMSwgMCwgMCwgMSwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sCnswLCAxLCAxLCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwfSwKezAsIDAsIDAsIDEsIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDF9LAp7MCwgMCwgMCwgMSwgMSwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMX0sCnswLCAwLCAxLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwfSwKezAsIDEsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDB9LAp7MCwgMSwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMH0sCnsxLCAxLCAwLCAwLCAwLCAwLCAwLCAwICwxLCAwLCAwLCAxLCAwICwwLCAxLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwfSwKezEsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDEsIDAsIDAsIDEgLDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAgLDAsIDAsIDB9LAp7MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMSwgMCwgMCwgMCwgMCwgMSwgMCAsMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sCnswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAxLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwfSwKezAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDB9LAp7MCwgMCAsMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMSwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sCnswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwfSwKezAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDEsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDB9LAp7MCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMH0sCnswLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwfSwKezAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDB9LAp7MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sCnswLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwfSwKezAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDEsIDAsIDB9LAp7MCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMSwgMCwgMCwgMH0sCnswLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAwLCAwLCAwLCAwfSwKezAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAgLDAsIDEsIDEsIDAsIDAsIDEsIDB9LAp7MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMSwgMSwgMCwgMH0sCnswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAxLCAxLCAwLCAwfSwKezAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDEsIDAsIDAsIDEsIDB9LAp7MCwgMCwgMCwgMCwgMSwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMX19OwoKZm9yKGludCBpPTA7IGkmbHQ7MzA7ICsraSl7CmZvcihpbnQgaj0wOyBqJmx0OzMwOyArK2opewogICAgbWF0W2ldW2pdID0gbWF0cml6W2ldW2pdO319fQoKdm9pZCBwb3B1bGFjYW8oaW50IHZldFtdKXsKaW50IHZldG9yWzMwXSA9IHszMCwgMjAsIDIwLCA4LCA5OSwgOTksIDEwLCAxMCwgMTUsIDE1LCAxMDAsIDUsIDUsIDMxLCAzMSwgMzIsIDMyLCA5OSwgOTksIDEyLCAxMiwKNjYsIDY2LCAyMCwgMjAsIDIsIDIsIDMsIDMsIDEwMH07CmZvcihpbnQgaT0wOyBpJmx0OzMwOyBpKyspCnZldFtpXT0gdmV0b3JbaV07fQoKdm9pZCBzb21hKGludCB2ZXRbXSxpbnQgbWF0W11bMzBdLCBpbnQgc29tYVtdKXsKZm9yKGludCBpPTA7IGkmbHQ7MzA7ICsraSl7CnNvbWFbaV0gPSAwOwpmb3IoaW50IGo9MDsgaiZsdDszMDsgKytqKXsKaWYobWF0W2ldW2pdPT0xKXsKc29tYVtpXT0gc29tYVtpXSArIHZldFtqXTt9fX19Cgp2b2lkIG1haW9yKGludCB2ZXRbMzBdKXsKaW50IGk7CmZvcihpPTA7IGkmbHQ7MzA7IGkrKyl7CmlmKHZldFtpXSZndDs9dmV0WzBdICZhbXA7IHZldFtpXSZndDs9dmV0WzFdICZhbXA7IHZldFtpXSZndDs9dmV0WzJdICZhbXA7IHZldFtpXSZndDs9dmV0WzNdICZhbXA7IHZldFtpXSZndDs9dmV0WzRdICZhbXA7CnZldFtpXSZndDs9dmV0WzVdICZhbXA7IHZldFtpXSZndDs9dmV0WzZdICZhbXA7IHZldFtpXSZndDs9dmV0WzddICZhbXA7IHZldFtpXSZndDs9dmV0WzhdICZhbXA7IHZldFtpXSZndDs9dmV0WzldICZhbXA7IHZldFtpXSZndDs9dmV0WzEwXQomYW1wOyB2ZXRbaV0mZ3Q7PXZldFsxMV0gJmFtcDsgdmV0W2ldJmd0Oz12ZXRbMTJdICZhbXA7IHZldFtpXSZndDs9dmV0WzEzXSAmYW1wOyB2ZXRbaV0mZ3Q7PXZldFsxNF0gJmFtcDsgdmV0W2ldJmd0Oz12ZXRbMTVdICZhbXA7CnZldFtpXSZndDs9dmV0WzE2XSAmYW1wOyB2ZXRbaV0mZ3Q7PXZldFsxN10gJmFtcDsgdmV0W2ldJmd0Oz12ZXRbMThdICZhbXA7IHZldFtpXSZndDs9dmV0WzE5XSAmYW1wOyB2ZXRbaV0mZ3Q7PXZldFsyMF0gJmFtcDsKdmV0W2ldJmd0Oz12ZXRbMjFdICZhbXA7IHZldFtpXSZndDs9dmV0WzIyXSAmYW1wOyB2ZXRbaV0mZ3Q7PXZldFsyM10gJmFtcDsgdmV0W2ldJmd0Oz12ZXRbMjRdICZhbXA7IHZldFtpXSZndDs9dmV0WzI1XSAmYW1wOwp2ZXRbaV0mZ3Q7PXZldFsyNl0gJmFtcDsgdmV0W2ldJmd0Oz12ZXRbMjddICZhbXA7IHZldFtpXSZndDs9dmV0WzI4XSAmYW1wOyB2ZXRbaV0mZ3Q7PXZldFsyOV0pewpwcmludGYoJnF1b3Q7XG5cbkNpZGFkZSAlZCBhdGVuZGUgbyBtYWlvciBudWhtZXJvIGRlIHBvcHVsYWNhby5cbiZxdW90OyxpKzEpO319fQoKCmludCBtYWluKCkKewppbnQgdmV0IFszMF0sIFNbMzBdLCBtYXRbMzBdWzMwXSwgaSA9IDA7CmFkamFjZW5jaWEobWF0KTsKcG9wdWxhY2FvKHZldCk7CnNvbWEodmV0LCBtYXQsIFMpOwpmb3IoO2kmbHQ7MzA7IGkrKyl7CnByaW50ZigmcXVvdDtcbkNpZGFkZSAlZCBhdGVuZGUgJWQuMDAwIGRlIHBvcHVsYWNhbyZxdW90OyxpKzEsIFNbaV0pO30KbWFpb3IoUyk7Cn0K
#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);
}