Ir ao conteúdo
  • Cadastre-se

Me Ajudem Plantação - OBI 2013


Ir à solução Resolvido por Leticia F,

Posts recomendados

Galera meu codigo está dando certo pra alguns casos de teste, mas em outros não passa e eu não consigo encontrar o erro.

 

link do problema: http://br.spoj.com/problems/PLANTA13/

 

Meu Codigo:

#include <stdlib.h>#include <stdio.h>int a[100010];char e[100010];int main(){    int n, k, i, j, final;    final=0;    scanf("%d %d", &n, &k);    for(i=0;i<k;i++){        scanf("%d", &a[i]);    }//lê o quanto a arvore produz no começo    for(i=0;i<n;i++){        scanf("%c", &e[i]);    }//lê a situação de cada dia    for(j=0;j<n;j++){        for(i=0;i<k;i++){                if(e[j]=='C' && a[i]!=0){                    a[i]=a[i]+1;                    printf("%d ", a[i]);                    final=final+a[i];                }                if(e[j]=='E' && a[i]!=0){                    a[i]=a[i]-1;                    printf("%d ", a[i]);                    final=final+a[i];                }        }        printf("\n");    }    printf("%d", final);}
Link para o comentário
Compartilhar em outros sites

  • Solução

Seu programa não estava lendo todos os caracteres. Ele lia os caracteres como uma cadeia de caracteres. E foi muita coincidência ter dado certo no 2º exemplo.

 

Quando vs faz: 

for(i=0;i<n;i++){        scanf("%c", &e[i]);  }

em vez de %c, coloca %s e vai ficar certinho =)

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...