TOPIC
PROBLEM 1914 - URI Fórum 1.0
This topic was solved and cannot recieve new replies.
-
leufrazio replied 7 years ago
MODW.a 20%,alguém poderia ajudar?Ou talvez disponibilizar mais casos de testes
#include <iostream> using namespace std; int main(){ int e,d; cin >>e; while(e--){ int a,b; string n1,n2,c1,c2; cin >>n1>>c1>>n2>>c2; cin >>a>>b; if(c1=="PAR"){ if((a+b)%2==0){ cout<<n1<<endl; }else{ cout<<n2<<endl; } } else if(c1=="IMPAR"){ if((a+b)%2==0){ cout<<n2<<endl; } else{ cout<<n2<<endl; } } }
-
leufrazio replied 7 years ago
MODW.a 20%.Alguém pode ajudar?
#include <iostream> using namespace std; int main(){ int e,d; cin >>e; while(e--){ int a,b; string n1,n2,c1,c2; cin >>n1>>c1>>n2>>c2; cin >>a>>b; if(c1=="PAR"){ if((a+b)%2==0){ cout<<n1<<endl; }else{ cout<<n2<<endl; } } else if(c1=="IMPAR"){ if((a+b)%2==0){ cout<<n2<<endl; } else{ cout<<n2<<endl; } } } }
-
leufrazio replied 7 years ago
MODW.a 20%.Alguém pode ajudar?O código passou nos testes.
#include <iostream> using namespace std; int main(){ int e,d; cin >>e; while(e--){ int a,b; string n1,n2,c1,c2; cin >>n1>>c1>>n2>>c2; cin >>a>>b; if(c1=="PAR"){ if((a+b)%2==0){ cout<<n1<<endl; }else{ cout<<n2<<endl; } } else if(c1=="IMPAR"){ if((a+b)%2==0){ cout<<n2<<endl; } else{ cout<<n2<<endl; } } } }
-
ggroth replied 7 years ago
Para a entrada padrão do problema, tua saída está sendo:
Quico Marcus Dayran Chaves
Repare que, na terceira linha, o vencedor deveria ser Conrado.
-
Mateus39 replied 7 years ago
#include<stdio.h> #include<string.h> main (){ char p[300]="PAR",imp[300]="IMPAR",ad1[300],ad2[300],n1[100],n2[100]; int vezes=0,i=0,a,b,s=0; scanf("%d",&vezes); for(i=1; i<=vezes; i++){ scanf("%s%s%s%s",&n1,&ad1,&n2,&ad2); scanf("%d%d",&a,&b); s=s+a+b; if(strcmp(ad1,p)==0){ if(s%2==0) printf("%s\n",n1); } if(strcmp(ad2,p)==0){ if(s%2==0) printf("%s\n",n2); } if(strcmp(ad1,imp)==0){ if(s%2!=0) printf("%s\n",n1); } if(strcmp(ad2,imp)==0){ if(s%2!=0) printf("%s\n",n2); } } }
Está dando 40% WA, alguém podem e ajudar a encontrar o erro ? Testei algumas entrada no Toolkit e passou.
-
tmarinho1 replied 8 years ago
MODBoa tarde! Veja o começo dessa explicação de strings (é de c++, mas basta olhar a parte de consumo de recursos e caracter NULL), pode te ajudar:
http://www.tiexpert.net/programacao/c/string.php -
tmarinho1 replied 8 years ago
MODBoa tarde, Stark! Parece que você definiu e2 com apenas quatro posições, mas, por exemplo, se você comparar ele com "IMPAR" (5 posições) nunca vai retornar 0, o que significa que nunca e2 pode conter "IMPAR", o que, por sua vez, é falso, segundo o enunciado do problema.
-
Italooooxd replied 8 years ago
eu fico recebendo wrong answer 40%, toda hora o codigo fica sempre mostrando o vencedor como só o primeiro nome escrito ou sempre o segundo escrito, mas eu não entendo o porque disso...
#include <stdio.h> int main(){ char nome1[100]; char nome2[100]; char escolha2[10]; char escolha1[10]; int N,i,x ,y,z; scanf ("%i",&N); for(i = 0; i <= N; i++){ scanf("%s",nome1); scanf("%s",escolha1); scanf("%s",nome2); scanf("%s\n",escolha2); scanf("%i",&x); scanf("%i",&y); z = (x+y)%2; if((escolha1[0] = strcmp(escolha1 ,"IMPAR")) && z == 0){ printf("%s\n",nome1); } else if ((escolha1[0] = strcmp(escolha1 ,"PAR")) && z != 0){ printf("%s\n",nome1); } else if ((escolha2[0]= strcmp(escolha2, "IMPAR")) && z == 0){ printf("%s\n",nome2); } else if ((escolha2[0] =strcmp(escolha2, "PAR")) && z != 0){ printf("%s\n", nome2); } } return 0; }