#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
char caracter;
char nome[ 30 ] ;
int continente;
int qtde_partidas;
int gols_a_favor;
int gols_contra;
int saldo_gols;
} ;
typedef struct time Time
;
struct partida{
int codigo;
char time1;
char time2;
int gols_time1;
int gols_time2;
} ;
typedef struct partida Partida;
void gols_contraa ( char a, Time VetorTimes[ ] , int n, int b) ;
void gols_aa_favor ( char a, Time VetorTimes[ ] , int n, int b) ;
void saldo_gols ( Time VetorTimes[ ] , int n) ;
void ReceberTimes( Time VetorTimes[ ] , int tamanho) ;
void ReceberPartidas( Partida vetorPartidas[ ] , int tam_part, Time VetorTimes[ ] , int tam_times) ;
void ReceberTimes( Time VetorTimes[ ] , int tamanho) {
for ( int j = 0 ; j < tamanho; j++ )
{
VetorTimes[ j] .gols_a_favor = 0 ;
VetorTimes[ j] .gols_contra = 0 ;
VetorTimes[ j] .saldo_gols = 0 ;
VetorTimes[ j] .qtde_partidas = 0 ;
}
for ( int i = 0 ; i < tamanho; i++ ) {
scanf ( " %c" ,& VetorTimes
[ i
] .
caracter ) ; gets ( VetorTimes
[ i
] .
nome ) ; scanf ( "%d" , & VetorTimes
[ i
] .
continente ) ; }
}
void ReceberPartidas( Partida vetorPartidas[ ] , int tam_part, Time VetorTimes[ ] , int tam_times) {
for ( int j = 0 ; j < tam_part; j++ ) {
scanf ( "%d" , & vetorPartidas
[ j
] .
codigo ) ; //código partida scanf ( " %c" , & vetorPartidas
[ j
] .
time1 ) ; //caracter time 1 scanf ( " %c" , & vetorPartidas
[ j
] .
time2 ) ; //caracter time 2 scanf ( "%d" , & vetorPartidas
[ j
] .
gols_time1 ) ; //gols time1 scanf ( "%d" , & vetorPartidas
[ j
] .
gols_time2 ) ; //gols time2 gols_aa_favor( vetorPartidas[ j] .time1 , VetorTimes, tam_times, vetorPartidas[ j] .gols_time1 ) ; //adicionar gols ao time 1
gols_contraa( vetorPartidas[ j] .time2 , VetorTimes, tam_times, vetorPartidas[ j] .gols_time1 ) ; //gols tomados pelo time 2
gols_aa_favor( vetorPartidas[ j] .time2 , VetorTimes, tam_times, vetorPartidas[ j] .gols_time2 ) ; // adicionar gols ao time 2
gols_contraa( vetorPartidas[ j] .time1 , VetorTimes, tam_times, vetorPartidas[ j] .gols_time2 ) ; // gols tomado pelo time 1
}
}
void MelhorSaldoGols( Time VetorTimes[ ] , int tamanho) {
Time melhor = VetorTimes[ 0 ] ;
for ( int i = 1 ; i < tamanho; i++ ) {
if ( VetorTimes[ i] .saldo_gols > melhor.saldo_gols ) {
melhor.caracter = VetorTimes[ i] .caracter ;
}
}
printf ( "%c" , melhor.
caracter ) ; }
Time PiorSaldoGols( Time VetorTimes[ ] , int tamanho) {
Time pior = VetorTimes[ 0 ] ;
for ( int i = 1 ; i < tamanho; i++ ) {
if ( VetorTimes[ i] .saldo_gols < pior.saldo_gols ) {
pior.caracter = VetorTimes[ i] .caracter ;
}
}
}
Time MelhorClassificadoContinente( Partida VetorPartida[ ] , int tam_part, Time VetorTimes[ ] , int tam_times, int continente) {
Time t;
return t;
}
void gols_aa_favor ( char a, Time VetorTimes[ ] , int n, int b) {
for ( int u = 0 ; u < n; u++ ) {
if ( VetorTimes[ u] .caracter == a) {
VetorTimes[ u] .gols_a_favor = VetorTimes[ u] .gols_a_favor + b;
}
}
}
void gols_contraa ( char a, Time VetorTimes[ ] , int n, int b) {
for ( int u = 0 ; u < n; u++ ) {
if ( VetorTimes[ u] .caracter == a) {
VetorTimes[ u] .gols_contra = VetorTimes[ u] .gols_contra + b;
}
}
}
void saldo_gols ( Time VetorTimes[ ] , int n) {
for ( int u = 0 ; u < n; u++ ) {
VetorTimes[ u] .saldo_gols = VetorTimes[ u] .gols_a_favor - VetorTimes[ u] .gols_contra ; //cálculo saldo de gols.
}
}
int main( ) {
Time paises[ 16 ] ;
Partida part[ 15 ] ;
int n, k, cod, t1, t2;
char nm, melhor;
n = k = cod = t1 = t2 = 0 ;
ReceberTimes( paises, n) ;
ReceberPartidas( part, k, paises, n) ;
saldo_gols( paises, n) ;
MelhorSaldoGols( paises, n) ;
PiorSaldoGols( paises, n) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRib29sLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPG1hdGguaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8dGltZS5oPgoKc3RydWN0IHRpbWUgewogICAgY2hhciBjYXJhY3RlcjsKICAgIGNoYXIgbm9tZVszMF07CiAgICBpbnQgY29udGluZW50ZTsKICAgIGludCBxdGRlX3BhcnRpZGFzOwogICAgaW50IGdvbHNfYV9mYXZvcjsKICAgIGludCBnb2xzX2NvbnRyYTsKICAgIGludCBzYWxkb19nb2xzOwp9Owp0eXBlZGVmIHN0cnVjdCB0aW1lIFRpbWU7CgpzdHJ1Y3QgcGFydGlkYXsKICAgIGludCBjb2RpZ287CiAgICBjaGFyIHRpbWUxOwogICAgY2hhciB0aW1lMjsKICAgIGludCBnb2xzX3RpbWUxOwogICAgaW50IGdvbHNfdGltZTI7Cn07CnR5cGVkZWYgc3RydWN0IHBhcnRpZGEgUGFydGlkYTsKCnZvaWQgZ29sc19jb250cmFhIChjaGFyIGEsIFRpbWUgVmV0b3JUaW1lc1tdLCBpbnQgbiwgaW50IGIpOwp2b2lkIGdvbHNfYWFfZmF2b3IgKGNoYXIgYSwgVGltZSBWZXRvclRpbWVzW10sIGludCBuLCBpbnQgYik7CnZvaWQgc2FsZG9fZ29scyAoVGltZSBWZXRvclRpbWVzW10sIGludCBuKTsKdm9pZCBSZWNlYmVyVGltZXMoVGltZSBWZXRvclRpbWVzW10sIGludCB0YW1hbmhvKTsKdm9pZCBSZWNlYmVyUGFydGlkYXMoUGFydGlkYSB2ZXRvclBhcnRpZGFzW10sIGludCB0YW1fcGFydCwgVGltZSBWZXRvclRpbWVzW10sIGludCB0YW1fdGltZXMpOwoKdm9pZCBSZWNlYmVyVGltZXMoVGltZSBWZXRvclRpbWVzW10sIGludCB0YW1hbmhvKXsKICAgIGZvciAoaW50IGogPSAwOyBqIDwgdGFtYW5obzsgaisrKQogICAgewogICAgICAgIFZldG9yVGltZXNbal0uZ29sc19hX2Zhdm9yID0gMDsKICAgICAgICBWZXRvclRpbWVzW2pdLmdvbHNfY29udHJhID0gMDsKICAgICAgICBWZXRvclRpbWVzW2pdLnNhbGRvX2dvbHMgPSAwOwogICAgICAgIFZldG9yVGltZXNbal0ucXRkZV9wYXJ0aWRhcyA9IDA7CiAgICB9CgogIGZvcihpbnQgaSA9IDA7IGkgPCB0YW1hbmhvOyBpKyspewogICAgICAgIHNjYW5mKCIgJWMiLCZWZXRvclRpbWVzW2ldLmNhcmFjdGVyKTsKICAgICAgICBnZXRjaGFyKCk7CiAgICAgICAgZ2V0cyhWZXRvclRpbWVzW2ldLm5vbWUpOwogICAgICAgIHNjYW5mKCIlZCIsICZWZXRvclRpbWVzW2ldLmNvbnRpbmVudGUpOwogICAgfQoKfQp2b2lkIFJlY2ViZXJQYXJ0aWRhcyhQYXJ0aWRhIHZldG9yUGFydGlkYXNbXSwgaW50IHRhbV9wYXJ0LCBUaW1lIFZldG9yVGltZXNbXSwgaW50IHRhbV90aW1lcyl7CgogICAgZm9yKGludCBqID0gMDsgaiA8IHRhbV9wYXJ0OyBqKyspewogICAgICAgIAogICAgICAgIHNjYW5mKCIlZCIsICZ2ZXRvclBhcnRpZGFzW2pdLmNvZGlnbyk7IC8vY8OzZGlnbyBwYXJ0aWRhCiAgICAgICAgc2NhbmYoIiAlYyIsICZ2ZXRvclBhcnRpZGFzW2pdLnRpbWUxKTsgLy9jYXJhY3RlciB0aW1lIDEKICAgICAgICBzY2FuZigiICVjIiwgJnZldG9yUGFydGlkYXNbal0udGltZTIpOyAvL2NhcmFjdGVyIHRpbWUgMgogICAgICAgIHNjYW5mKCIlZCIsICZ2ZXRvclBhcnRpZGFzW2pdLmdvbHNfdGltZTEpOyAvL2dvbHMgdGltZTEKICAgICAgICBzY2FuZigiJWQiLCAmdmV0b3JQYXJ0aWRhc1tqXS5nb2xzX3RpbWUyKTsgLy9nb2xzIHRpbWUyCiAgICAgICAgZ29sc19hYV9mYXZvcih2ZXRvclBhcnRpZGFzW2pdLnRpbWUxLCBWZXRvclRpbWVzLCB0YW1fdGltZXMsIHZldG9yUGFydGlkYXNbal0uZ29sc190aW1lMSk7IC8vYWRpY2lvbmFyIGdvbHMgYW8gdGltZSAxCiAgICAgICAgZ29sc19jb250cmFhKHZldG9yUGFydGlkYXNbal0udGltZTIsIFZldG9yVGltZXMsIHRhbV90aW1lcywgdmV0b3JQYXJ0aWRhc1tqXS5nb2xzX3RpbWUxKTsgLy9nb2xzIHRvbWFkb3MgcGVsbyB0aW1lIDIKICAgICAgICBnb2xzX2FhX2Zhdm9yKHZldG9yUGFydGlkYXNbal0udGltZTIsIFZldG9yVGltZXMsIHRhbV90aW1lcywgdmV0b3JQYXJ0aWRhc1tqXS5nb2xzX3RpbWUyKTsgLy8gYWRpY2lvbmFyIGdvbHMgYW8gdGltZSAyCiAgICAgICAgZ29sc19jb250cmFhKHZldG9yUGFydGlkYXNbal0udGltZTEsIFZldG9yVGltZXMsIHRhbV90aW1lcywgdmV0b3JQYXJ0aWRhc1tqXS5nb2xzX3RpbWUyKTsgLy8gZ29scyB0b21hZG8gcGVsbyB0aW1lIDEKICAgIH0KCn0Kdm9pZCBNZWxob3JTYWxkb0dvbHMoVGltZSBWZXRvclRpbWVzW10sIGludCB0YW1hbmhvKXsKICAgIFRpbWUgbWVsaG9yID0gVmV0b3JUaW1lc1swXTsgICAgCiAgICBmb3IoaW50IGkgPSAxOyBpIDwgdGFtYW5obzsgaSsrKXsKICAgICAgICAgICAgICAgIGlmKFZldG9yVGltZXNbaV0uc2FsZG9fZ29scyA+IG1lbGhvci5zYWxkb19nb2xzKXsKICAgICAgICAgICAgICAgICAgICBtZWxob3IuY2FyYWN0ZXIgPSBWZXRvclRpbWVzW2ldLmNhcmFjdGVyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHByaW50ZigiJWMiLCBtZWxob3IuY2FyYWN0ZXIpOwp9ClRpbWUgUGlvclNhbGRvR29scyhUaW1lIFZldG9yVGltZXNbXSwgaW50IHRhbWFuaG8pewogICAgVGltZSBwaW9yID0gVmV0b3JUaW1lc1swXTsgICAgCiAgICBmb3IoaW50IGkgPSAxOyBpIDwgdGFtYW5obzsgaSsrKXsKICAgICAgICAgICAgICAgIGlmKFZldG9yVGltZXNbaV0uc2FsZG9fZ29scyA8IHBpb3Iuc2FsZG9fZ29scyl7CiAgICAgICAgICAgICAgICAgICAgcGlvci5jYXJhY3RlciA9IFZldG9yVGltZXNbaV0uY2FyYWN0ZXI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHByaW50ZigiJWMiLCBwaW9yLmNhcmFjdGVyKTsKfQpUaW1lIE1lbGhvckNsYXNzaWZpY2Fkb0NvbnRpbmVudGUoUGFydGlkYSBWZXRvclBhcnRpZGFbXSwgaW50IHRhbV9wYXJ0LCBUaW1lIFZldG9yVGltZXNbXSwgaW50IHRhbV90aW1lcywgaW50IGNvbnRpbmVudGUpewogICAgVGltZSB0OwogICAgcmV0dXJuIHQ7Cn0Kdm9pZCBnb2xzX2FhX2Zhdm9yIChjaGFyIGEsIFRpbWUgVmV0b3JUaW1lc1tdLCBpbnQgbiwgaW50IGIpewogICAgZm9yKGludCB1ID0gMDsgdSA8IG47IHUrKyl7CiAgICAgICAgaWYoVmV0b3JUaW1lc1t1XS5jYXJhY3RlciA9PSBhKXsKICAgICAgICAgICAgVmV0b3JUaW1lc1t1XS5nb2xzX2FfZmF2b3IgPSAgVmV0b3JUaW1lc1t1XS5nb2xzX2FfZmF2b3IgKyBiOwogICAgICAgIH0KICAgIH0KfQp2b2lkIGdvbHNfY29udHJhYSAoY2hhciBhLCBUaW1lIFZldG9yVGltZXNbXSwgaW50IG4sIGludCBiKXsKICAgIGZvcihpbnQgdSA9IDA7IHUgPCBuOyB1KyspewogICAgICAgIGlmKFZldG9yVGltZXNbdV0uY2FyYWN0ZXIgPT0gYSl7CiAgICAgICAgICAgIFZldG9yVGltZXNbdV0uZ29sc19jb250cmEgPSBWZXRvclRpbWVzW3VdLmdvbHNfY29udHJhICsgYjsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgc2FsZG9fZ29scyAoVGltZSBWZXRvclRpbWVzW10sIGludCBuKXsKICAgIGZvcihpbnQgdSA9IDA7IHUgPCBuOyB1KyspewogICAgICAgIFZldG9yVGltZXNbdV0uc2FsZG9fZ29scyA9IFZldG9yVGltZXNbdV0uZ29sc19hX2Zhdm9yIC0gVmV0b3JUaW1lc1t1XS5nb2xzX2NvbnRyYTsgLy9jw6FsY3VsbyBzYWxkbyBkZSBnb2xzLgogICAgfQp9CgppbnQgbWFpbigpewogICAgVGltZSBwYWlzZXNbMTZdOwogICAgUGFydGlkYSBwYXJ0WzE1XTsKICAgIGludCBuLCBrLCBjb2QsIHQxLCB0MjsKICAgIGNoYXIgbm0sIG1lbGhvcjsKICAgIG4gPSBrID0gY29kID0gdDEgPSB0MiA9IDA7CiAgICAKICAgIHNjYW5mKCIlZCIsICZuKTsKICAgIFJlY2ViZXJUaW1lcyhwYWlzZXMsIG4pOwoKICAgIHNjYW5mKCIlZCIsICZrKTsKICAgIFJlY2ViZXJQYXJ0aWRhcyhwYXJ0LCBrLCBwYWlzZXMsIG4pOwogICAgCiAgICBzYWxkb19nb2xzKHBhaXNlcywgbik7CgogICAgTWVsaG9yU2FsZG9Hb2xzKHBhaXNlcywgbik7CiAgICBwcmludGYoIlxuIik7CiAgICBQaW9yU2FsZG9Hb2xzKHBhaXNlcywgbik7CgoKICAgIHJldHVybiAwOwp9