TOPIC
PROBLEM 1436 - URI Fórum 1.0
This topic was solved and cannot recieve new replies.
-
gadmelo replied 8 years ago
Quando eu usei fflush(stdin) a resposta deu 90% errada, acho que acabou apagando todo o buffer com as entradas. Não precisa do seu primeiro for porque 3<=N<=9.
-
FelipeAlves replied 9 years ago
Obtive 70% WA neste exercício!
Testei as mais variadas opções no toolkit e não encontrei nenhum problema ainda! a minha lógica foi encontrar a qtde de jogadores através da substituição ASCII to int (por gambiarra) preencher um vetor com todos os jogadores usar o capitão como a metade do vetor, ou em casos pares, o jogador logo a direita.
Através do toolkit, dá para perceber que a ordem não vai alterar a resposta.
Posso ter confundido algo ou não ficou claro para mim!
Obrigado pela ajuda!
#include <stdio.h> #include <stdlib.h> int main(void){ int n, i, j, k, capitao, qtde, vetor[10], cont; char linha[50]; scanf("%d", &n); for(i=0;i<n;i++){ fflush(stdin); gets(linha); for(j=0;linha[j]!=' ';j++){ if(j==1){ qtde = qtde * 10 + (int)linha[j]-48; }else{ qtde = (int)linha[j]-48; } } cont = 0; for(k=j+1;cont<qtde;k+=3){ vetor[cont] = ((int)linha[k]-48)*10 + ((int)linha[k+1]-48); cont++; } capitao = vetor[qtde/2]; printf("Case %d: %d\n", i+1, capitao); } return 0; }
-
Roberto0 replied 9 years ago
Não entendi muito seu código, mas dê uma analisada novamente no enunciado do problema para que encontre uma solução mais simples. Existe uma solução bem direta...
Abraço.
-
Roberto0 replied 9 years ago
Roger, verifique sua variável 'i'. Talvez não esteja reinicializando o valor dela corretamente.
Espero ter ajudado.
-
zbrendo replied 9 years ago
Porque dá Runtime Error?
#include <stdio.h> #include <stdlib.h> int main() { int cont,n,cont2,cont3,i,maior,menor,proc,cs; int jog[10]; scanf("%d",&cont); cont3=0; cs=4; maior=0;menor=0; cont2=1; while(cont2<=cont) { scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&jog[i]);} proc=jog[cont3]; while(cs!=0){ for(i=0;i<n;i++) { if(jog[i]<proc) menor++; if(jog[i]>proc) maior++; } if(maior==menor) cs=0; else { cont3++; proc=jog[cont3]; maior=0;menor=0; } } if(cs==0){ printf("Case %d: %d\n",cont2,proc); cs=3; } cont2++; } return 0; }
-
alourencette replied 9 years ago
Acho que tem um probleminha no enunciado neste problema:
"Cada equipe é constituída por um número ímpar de jogadores" << fala que tem que ser impar
"O número de jogadores deve ser maior do que 1, mas não pode ser superior a 10" << fala que 10 pode ser e e par
"N (1 < N < 11)" << tambem fala que pode ser 10