TOPIC
PROBLEM 1987 - URI Fórum 1.0
This topic was solved and cannot recieve new replies.
-
User177013 replied 7 years ago
O pessoal que ainda tiver dando 10% de erro, tenta ler o 'm' como "%lld" em vez de "%lli". Não me perguntem por que isso funciona, mas aqui funcionou.
-
agomez1 replied 7 years ago
10% error in this code, please help me
include
using namespace std;
//Ambiente int num, cont, acum, a; //Proceso int main (){ while ( cin >> cont){ acum=0;
cin >> num; for (int i=0; i<cont ; i++){ a=num%10; acum = acum+a; num = num/10; } if (acum%3==0){ cout << acum << " sim" << endl; }else{ cout << acum << " nao" << endl; } } return 0;
}
-
ttogores replied 7 years ago
Acredito que m seja maior que o especificado. A única diferença de WA para AC no meu código é a troca de int por long long. Eu ignoro o n em ambas as implementações.
-
ldcampos replied 7 years ago
obrigado manhoso pela ajuda, no fim das contas esse problema é bem estranho, não passei nem com long long, fui passar só quando usei cin e cout, não sei o porquê hasuhasuahsuash em geral scanf e printf é pra funfar mas enfim...
-
tiwizard replied 7 years ago
O uri deve estar com algum caso de teste problemático ... continue usando long long int para m e troque a (soma dos dígitos) mod 3 pelo (valor de m dado no input) mod 3 ... use a soma dos digitos somento no printf ... aqui funcionou ... não entendo pq isso funciona =/
-
ldcampos replied 7 years ago
tentei com long long int, mas continua dando 10% WA, a ideia é isso msm q eu fiz? tem algum caso especial?
-
ldcampos replied 7 years ago
Pessoal, por favor alguém me ajuda? já tentei esse problema em umas 20 submissões fica dando 10% wrong answer na última submissão o código ficou assim
#include <stdio.h> #include <string.h> main() { int i,count,n,m,tam,j; char s[100],ans[10]; while(scanf("%d %d",&n,&m)!=EOF) { count=0; while(m>0) { count+=m%10; m/=10; } if(count%3==0) printf("%d sim\n",count); else printf("%d nao\n",count); } return 0; }
quem passou, o que fez de diferente? a ideia não é somar os dígitos, e se for divisível por 3 printar sim senão nao? não sei o que pode estar errado :S
-
ldcampos replied 7 years ago
estou tomando 10% W.A, e existem casos no toolkit que estão esquisitos exemplo:
1 19
retorna 9 sim, que não deveria ser um caso válido, ou deveria?
meu código está assim, estou seguindo a dica acima de verificar via código a quantidade de dígitos
[code] #include <stdio.h> #include <string.h> main() { long long int i,count,n,m=10000000000LL; char s[30],ans[10]; while(scanf("%lli %lli",&n,&m)!=EOF) { count=0; sprintf(s,"%lli",m); n=strlen(s); for(i=0,count=0;i<n;i++) count+=s[i]-'0'; if(count%3==0) printf("%lli sim\n",count); else printf("%lli nao\n",count); } return 0; } [/code]
-
Icaro-Lima replied 7 years ago
A dica que eu segui pra não dar 10% W.A: Coloquem pro próprio código identificar quantos caracteres tem no número.
-
hferreira0 replied 7 years ago
Estou recendo 10% WA, realmente não a minima ideia do que está errado
#include <stdio.h> int main() { int qtd; while(scanf("%d", &qtd)!=EOF) { getchar(); int i, valor = 0; for(i=0; i<qtd; i++) valor += (int)getchar()-48; printf("%d ", valor); printf(valor%3==0?"sim\n":"nao\n"); } return 0; }
-
KelvinS replied 8 years ago
Estou recebendo o seguinte erro em python:
n1, n2 = raw_input().split(" ") ValueError: need more than 1 value to unpack
Acredito que há alguma coisa errada com as entradas do problema. Aparentemente tem pelo menos uma entrada que tem só um valor.
-
KelvinS replied 8 years ago
Estou recebendo Runtime Error com o seguinte código:
while True: try: a, n = raw_input().split(" ") soma = 0 for x in xrange(0,len(n)): soma += int(n[x]) if soma % 3 == 0: print str(soma) + " sim" else: print str(soma) + " nao" except EOFError: break
Alguém poderia me ajudar? Obs.: já tentei com "\n" no print e também não funcionou.
-
ahacampos replied 8 years ago
Deve haver entradas fora do especificado, com linhas extras ou apenas um número por linha. Faz toda diferença em Python. Obtive ACC em C++.
-
Quandray replied 8 years ago
Eu acredito que há um caso de teste , onde n tem um valor incorreto para o número de dígitos m. Eu consegui AC , ignorando n .
-
Watanbe replied 8 years ago
O meu quando eu fiz usando string também deu 10% wa, tente usar somente inteiros.
-
tyronedamasceno replied 8 years ago
To recebendo WA 10%, alguma ideia de onde possa estar o erro? Criei várias entradas aqui e todas funcionaram
int main() { string s; int n; while (cin >> n >> s) { int sum = 0; for (int i = 0; i < n; ++i) sum += s[i] - '0'; if (sum % 3 == 0) cout << sum << " sim\n"; else cout << sum << " nao\n"; } return 0; }
-
galamiro replied 8 years ago
olá estou recebendo 10% WA, eu já fiz vários casos teste mas não consigo achar.
#include <bits/stdc++.h> using namespace std; int main(){ char a[1000]; int b, l, i; while(cin >> b){ for(i=0 ; i<b; i++){ cin >> a[i]; } int soma = 0; for(i=0; i<b; i++){ soma += a[i] - '0'; } if(soma%3==0){ cout << soma <<" sim"<<endl; }else{ cout << soma <<" nao" <<endl;} } }
-
Watanbe replied 8 years ago
O problema tava no while(scanf(...), tinha q ser while(scanf(...) != EOF). Obrigado pela ajuda.