TEMA

PROBLEM 1536 - URI Fórum 1.0

URI Online Judge preguntado 6 years ago

URI Online Judge Fórum 1.0

Este tema fue resuelto y no puede recibir nuevas respuestas.

• Leandro Tk respondido 4 years ago

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

• Abhishek respondido 5 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 respondido 5 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 respondido 5 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 respondido 5 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 respondido 5 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 respondido 6 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 respondido 6 years ago

flw. Att. Leoci Melo.

• anderson luiz respondido 6 years ago

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

• Old man respondido 6 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 respondido 6 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 respondido 6 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 respondido 6 years ago

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

• anderson luiz respondido 6 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 respondido 6 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 respondido 6 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 respondido 6 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 respondido 6 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 respondido 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;