# TOPIC

PROBLEM 1536 - URI Fórum 1.0

#### URI Online Judge asked 6 years ago

URI Online Judge Fórum 1.0

This topic was solved and cannot recieve new replies.

• #### Leandro Tk replied 4 years ago

Mas na verdade pode haver: M=0 --> M(0 ≤ M ≤ 100) e V=0 --> V(0 ≤ V ≤ 100)

• #### Abhishek replied 4 years ago

```#include <iostream>

using namespace std;

int main()
{
short score[4];
short n;

cin>>n;
bool *flag = new bool[n];

while(n>0)
{
for(short j=0;j<4;j+=2)
{
cin >> score[j];
getchar();
cin >> score[j+1];
}

if((score[0] + score[3]) > (score[1] + score[2]))
cout << "Time 1" << endl;
else if((score[0] + score[3]) < (score[1] + score[2]))
cout << "Time 2" << endl;
else if((score[0] == score[1] == score[2] == score[3]))
cout << "Penaltis" << endl;
else if((score[0] == score[1]) && (score[2] == score[3]))
{
if((score[0] + score[1] + score[2] + score[3]) > 0)
cout << "Time 1" << endl;
else
cout << "Penaltis" << endl;
}

n--;
}

return 0;
}```

• #### Gabriel Alamiro replied 4 years ago

Estou recebendo W.A 10% alguém sabe o que é?

```#include <bits/stdc++.h>

using namespace std;

int main(){

int a=0, b, c[2], d[2], ctot, dtot;
char f[2];

cin >> b;
while(a<b){
ctot=0;
dtot=0;
cin>> c[0] >> f[0] >> d[0];
cin>> d[1] >> f[0] >> c[1];

ctot=c[0]+c[1];
dtot=d[0]+d[1];

if(ctot>dtot || d[0]<c[1]){
cout<< "Time 1"<<endl;
}
else if(ctot<dtot || d[0]>c[1]){
cout<< "Time 2"<<endl;
}
else{
cout << "Penaltis"<<endl;
}
a++;
}
return 0;
}```
• #### Matheus Rodrigues Fernandes replied 4 years ago

Alguém pode me dar uma ajuda? O código retorna a resposta certa, mas estou recebendo Wrong Answer 60%. :\

```#include <iostream>

using namespace std;

int main(){
int N = 0, i = 0, ga1 = 0, gb2 = 0, gb1 = 0, ga2 = 0, g1 = 0, g2 = 0;

cin >> N;

do{
cin >> ga1 >> gb2;
cin >> gb1 >> ga2;
g1 = ga1 + ga2;
g2 = gb1 + gb2;
if(g1 == g2){
if(ga2 == gb2){
cout << "Penaltis" << endl;
}
else if(ga2 > gb2){
cout << "Time 1" << endl;
}
else if(gb2 > ga2){
cout << "Time 2" << endl;
}
}
else{
if(g2 > g1){
cout << "Time 2" << endl;
}
else if(g1 > g2){
cout << "Time 1" << endl;
}
}

i++;
}while(i < N);
}```
• #### Sabryna de Sousa Pessoa replied 4 years ago

WA 20%, pq?

```int n, m, v, i, cont1 = 0, cont2 = 0, time1, time2;

scanf ("%d", &n);

for ( i = 1; i <= (2*n); i++ ){

time1 = 0, time2  = 0;

scanf ("%d x %d", &m, &v);

if ( i%2 == 0 ){
time1 = cont1 + v;
time2 = cont2 + m;

if ( time1 > time2  || time1 == time2 && v > cont1){
printf ("Time 1\n");
}
else if ( time2 > time1 || time1 == time2  && cont2 > m){
printf ("Time 2\n");
}
else{
printf ("Penaltis\n");
}

cont1 = 0, cont2  = 0;

}
else{
cont1 += m, cont2 += v;
}

}```
• #### Icaro Baruffi replied 4 years ago

O que está errado neste diabo!? 20 ERRO!

```#include <bits/stdc++.h>
using namespace std;
int main() {
bool time1, time2;
int leitura;
int maiorA, maiorB,menorA,menorB,a,b,gols1,gols2;
char x[1];
scanf("%d", &leitura);
for (int i =0; i<leitura; i++){
maiorA=0;
maiorB=0;
menorA=0;
menorB=0;
a=0;b=0;
gols1=0;gols2=0;
time1=false;
time2=false;

scanf("%d %c %d", &gols1, &x, &gols2);
if (gols1>gols2){
time1=true;
maiorA=gols1; //aa
menorB=gols2; //aa
}
if (gols2>gols1) {
time2=true;
maiorB=gols2; //aa
menorA=gols1; //aa
}
a=gols1+gols2;

scanf("%d %c %d", &gols2, &x, &gols1);
if (gols2>gols1) {
time2=true;
maiorB=gols2; //aa
menorA=gols1; //aa
}
if (gols1>gols2){
time1=true;
maiorA=gols1; //aa
menorB=gols2; //aa
}
b=gols1+gols2;

/*printf("MaiorA %d MaiorB %d\n",maiorA, maiorB);
printf("MenorA %d MenorB %d\n",menorA, menorB);
printf("Total A %d Total B %d\n", a,b);*/

for (int j=0; j<1; j++){
if (time1==true && time2!=true){
printf("Time 1\n");
break;
}
if (time1!=true && time2==true){
printf("Time 2\n");
break;
}
if ((maiorA>=maiorB && menorA>=menorB && a<=b) ){
if ((maiorA==maiorB) && (menorA==menorB )&& (a==b)) printf("Penaltis\n");else printf("Time 1\n");
}
else{
if ((maiorA==maiorB) && (menorA==menorB )&& (a==b)){
printf("Penaltis\n");
}else{
printf("Time 2\n");
}
}
}
}
return 0;
}```
• #### Guilherme Henrique Magalhães da Silva replied 5 years ago

Alguém tem alguma dica? Lutei até onde pude e continua dando 10% de erro

```#include <stdio.h>
int main() {
int casos, contcasos, plac11, plac12, plac21, plac22, tim1, tim2, saldo1, saldo2;
plac11 = 0;
plac12 = 0;
plac21 = 0;
plac22 = 0;
tim1 = 0;
tim2 = 0;
//n = 0;
contcasos = 0;
scanf("%d", &casos);
for (contcasos = 0; contcasos < casos; contcasos++)//while (contcasos < casos)
{
//Define times vencedores da primeira partida
//primeira partida
scanf("%i X %i", &plac11, &plac12);
scanf("&i X %i", &plac22, &plac21);
if (plac11 > plac12)
{
tim1 += 3;
}
else if (plac12 > plac11)
{
tim2 += 3;
}
else if (plac11 == plac12)
{
tim1++;
tim2++;
}
//segunda partida
if (plac21 > plac22)
{
tim1 += 3;
}
else if (plac22 < plac21)
{
tim1 += 3;
}
else if (plac21 == plac22)
{
tim1++;
tim2++;
}
//  contcasos++;
}
if (tim1 > tim2)
{
printf("Time1\n");
}
else if (tim2 > tim1)
{
printf("Time2\n");
}
else if (tim1 == tim2)
{
saldo1 = plac11 + plac21;
saldo2 = plac12 + plac22;
if (saldo1 > saldo2)
{
printf("Time1\n");
}
else if (saldo2 > saldo1)
{
printf("Time2\n");
}
//analisa por numero de gols feitos na casa do adversário
else if (plac21 > plac12)
{
printf("Time1\n");
}
else if (plac12 > plac21)
{
printf("Time2\n");
}
else if (plac11 == plac12 && plac21 == plac22)
{
printf("Penaltis\n");
}
}
return 0;
}```
• #### Old man replied 5 years ago

flw. Att. Leoci Melo.

• #### anderson luiz replied 5 years ago

Ahhh ok ....vlw leocij...agora deu accepted =)

• #### Old man replied 5 years ago

M-Time1 x V-Time2 1 x 1 M-Time2 x V-Time1 2 x 2 Acima deu empate.

Critério 2 = mais gols marcados na casa do adver.(CA). M-Time1 x V-Time2 1 x 1(CA) M-Time2 x V-Time1 2 x 2(CA)

Conclusão: Time1 fez 2 gols na CA->Casa do Adversário. Time2 fez 1 gol na CA->Casa do Adversário.

Então, parabéns ao Time1 que foi o vencedor desse mata-mata. hehehehe.

Espero ter esclarecido a sua dúvida. Att. Leoci Melo.

• #### anderson luiz replied 5 years ago

Uma duvida nessa caso do exemplo....

1 x 1 2 x 2

Bora lá,como houve empate em ambos os jogos,então o saldo final de pontos ai seria time1 = 2 e time2 = 2...Aí partiriamos para as criteria....

1) goal difference (number of goals for minus the number of goals against)

Seria a diferenca final entre os gols feitos e os sofridos,certo? tipo time1 fez 3 gols no total e time2 fez 3 tb e ambos sofreram 3 gols tb? oq daria um empate nessa criteria tb....

2) most goals scored in the away match and...

total de gols feitos na ultima partida? tipo cada um fez 2,oq tb daria empate nessa criteria...ai so sobraria "Penaltis" como alternativa,mas a resposta é "Time 1"...clarify me please

• #### Old man replied 5 years ago

Você testou com a saída do uri?

```4
1 x 1
2 x 1
2 x 0
2 x 1
1 x 1
2 x 2
3 x 1
3 x 1```

Aqui gerou essa saída:

```Time 2
Time 2
Time 2
Time 2```

E o certo seria:

```Time 2
Time 1
Time 1
Penaltis```

Teste novamente.

Espero ter ajudado. Att. Leoci Melo

• #### Old man replied 5 years ago

Não há disputas de penaltis, basta você imprimir a palavra "Penaltis", se não houver ganhador no tempo convencional.

• #### anderson luiz replied 5 years ago

Não entendi essa 3rd criteria Penalty Shootout....É como se fosse o saldo dos penaltis? Mas não informação nenhuma em relação aos penaltis =/

• #### Emmanuel do Prado replied 5 years ago

```#include <stdio.h>

int main(){
int casos,cont,pri=0,seg=0,ter=0,qua=0,a=0,b=0,c=0,d=0;
scanf("%d",&casos);
for(cont=0;cont<casos;cont++){
scanf("%d x %d",&pri,&seg);
if(pri>seg){
a+=3;
}
else if(seg>pri) b+=3;
else if (seg==pri){
a+=1;
b+=1;
}

scanf("%d x %d",&ter,&qua);
if(qua>ter) a+=3;
else if(ter>qua) b+=3;
else if (qua==ter){
a+=1;
b+=1;
}
if(a>b) printf("Time 1\n");
else if(b>a) printf("Time 2\n");
else if(a==b){
c=pri+qua;
d=seg+ter;

if(c>d) printf("Time 1\n");
else if(c<d) printf("Time 2\n");
else if(c==d) {
if(seg>qua) printf("Time 2\n");
else if(seg<qua) printf("Time 1\n");
else if(seg==qua) printf("Penaltis\n");
}
}
}
}```
• #### Gerson Groth replied 5 years ago

```Time 2
Time 2
Time 1
Time 2```

Preste atenção quando for usar if sem chaves. Você só pode ter uma operação. Se houverem mais operações, você deve usar chaves...

• #### Santiago Soares replied 5 years ago

Olá Onde está o erro, já revisei muitas vezes!!

```#include <stdio.h>

int main(){
int casos,cont,pri,seg,ter,qua,a,b,c,d;
scanf("%d",&casos);
for(cont=0;cont<casos;cont++){
pri=0;
seg=0;
ter=0;
qua=0;
a=0;
b=0;
c=0;
d=0;
scanf("%d x %d",&pri,&seg);
if(pri>seg) a+=3;
else if(seg>pri) b+=3;
else if (seg==pri) a+=1; b+=1;

scanf("%d x %d",&ter,&qua);
if(qua>ter) a+=3;
else if(ter>qua) b+=3;
else if (qua==ter) a+=1; b+=1;

if(a>b) printf("Time 1\n");
else if(b>a) printf("Time 2\n");
else if(a==b){
c=pri+qua;
d=seg+ter;

if(c>d) printf("Time 1\n");
else if(c<d) printf("Time 2\n");
else if(c==d) {
if(seg>qua) printf("Time 2\n");
else if(seg<qua) printf("Time 1\n");
else if(seg==qua) printf("Penaltis\n");
}
}```
• #### Diego 2.0 replied 5 years ago

Alguém pode me dizer o que está errado estou tendo WA 10%

`Problema resolvido! Precisei reescrever o código, pois estava ignorando o saldo de gols.`
• #### Unknown replied 6 years ago

Não sei o porque, mas o codigo está dando 10% de erro..

```#include <stdio.h>
main()
{
char l;
scanf("%d",&N);
for(int j=0;j<N;j++){
scanf("%d %c %d",&M,&l,&V);
scanf("%d %c %d",&V1,&l,&M1);
if(M==V1&&V==M1){
printf("Penaltis\n");

}else{
if(M==V){
t1++;
t2++;
t1g=t1g+M;
t2g=t2g+V;
}
if(M>V){
t1=t1+3;
t1g=t1g+M;
t2g=t2g+V;
}
if(M<V){
t2=t2+3;
t1g=t1g+M;
t2g=t2g+V;
}
if(V1==M1){
t1++;
t2++;
t1g=t1g+M;
t2g=t2g+V;
}
if(V1>M1){
t2=t2+3;
t1g=t1g+M;
t2g=t2g+V;
}
if(V1<M1){
t1=t1+3;
t1g=t1g+M;
t2g=t2g+V;
}
if(t1>t2){
printf("Time 1\n");
}
if(t2>t1){
printf("Time 2\n");
}
if(t1==t2){
if(t1g>t2g){
printf("Time 1\n");

}
if(t1g<t2g){
printf("Time 2\n");

}
if(t1g==t2g){
printf("Time 1\n");

}
printf("Time 2\n");

}
printf("Penaltis\n");
}
}
}
t1=0;
t2=0;