Ir ao conteúdo
  • Cadastre-se

Dark-Programação

Membros Juniores
  • Total de itens

    15
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Muito obrigado cara, vou dar uma estudada nessa teoria, a função que você fez deu certo, mas a complexidade dele está muito alta, demorando em alguns caso de teste mais de 1 segundo kkkkk, mas deu para ter uma noção de como fazer, pena que estouro o tempo de execução kk, mas acho que consigo diminuir a complexidade da uma otimizada nele, sem estresse kk, mas então amigo, muitoooo obrigado, me ajudou muito, vou lhe adicionar no discord para a gente troca uma ideia e falar mais sobre programação, abraços e muito obrigado!!
  2. valeu amigo, muitoooo obrigado mesmo, sem estresse, eu encontrei algo sobre programação dinâmica e estou entendo mais, se conseguiu teria como me explicar a teoria que usou e se existe algum matemático que já tenha feito esse problema para eu pesquisar mais e saber como ele fez ??
  3. Oii Brund, estou sim amigo eu tentei fazer mas simplesmente deu erro, eu estou tentando resolver uma questão da obi de 2006 do nível 2, 2° fase, a colheita de caju, também tem ela no uri https://www.urionlinejudge.com.br/judge/en/problems/view/2305 , mas a ideia que eu tive fazendo umas somas que nem sei se está certo, funcionou para os 3 exemplos do uri, mas o debug já não funcionou da a resposta errada, já tentei de tudo e não conseguir e sobre essa forma que pensei da matriz eu não consigo ter uma ideia de como eu vou implementar ela, eu pensei em recursão mas não dá certo porque eu não sei qual a área que o usuário vai querer para calcular, ou seja, não sei onde iria parar a recursão, pensei em programação dinâmica mas não achei nem um conteúdo que desse uma luz sobre esse assunto, vou deixa o código que eu tentei aí em baixo caso queira dá uma olhada, muito obrigadoo!! Lembrando que não sei se está correto, acredito que está totalmente errado pois não conseguir resolver os exemplos do debug que esse exercício possui e já estou sem ideia kkk L, C, M, N = input().split() l = int(L) c = int(C) m = int(M) n = int(N) matriz = [0] * l acumulado = [0] * l max_ponto = 0 for i in range(l): entrada = list(map(int, input().split())) matriz[i] = list(entrada) acumulado[i] = list(entrada) a = matriz b = acumulado for i in range(len(b)): if i<l: b[i][0] = 0 for j in range(len(b[i])): if j < n: b[i][0] += a[i][j] for j in range(len(b[i])): if 0 < j < (c-n+1): b[i][j] = b[i][j-1] + a[i][j+n-1] - a[i][j-1] for j in range(len(a)): if j < (c-n+1): a[0][j] = 0 for i in range(len(a[j])): if i < m: a[0][j] += b[i][j] for i in range(len(a[j])): if 0 < i < (l-m+1): a[i][j] = a[i-1][j] + b[i+m-1][j] - b[i-1][j] for i in range(len(a)): if i < l-m+1: for j in range(len(a[i])): if j < (c-n+1): if a[i][j] > max_ponto: max_ponto = a[i][j] print(max_ponto)
  4. Nessa matriz que colocou ele só poderia pegar 1xn com n<=5 se ele escolhesse um exemplo 1x2 ele iria pegar as seguintes áreas [1,2]=3, [2,1]=3, [1,1]=2, [1,1]=2, não é necessário mostrar os índices apenas os resultados possíveis. Para fixar melhor, vamos supor que temos a seguinte matriz [1, 2, 3, 4, 5] e ele quer uma área de 1x2 então devemos calcular [1,2] = 3, [2,3] = 5, [3,4] = 7 e [4,5] = 9, mesmo exemplo se sobrepõe para matrizes de NxM com área de LxC, caso ainda tiver dúvida só falar!!
  5. Não amigo ele vai pegar o seguinte matriz = [ [1, 1, 1, 3, 1], # Ele soma (1 +1 (linha 1) + 1 + 2 (linha 2)), depois 1 + 1 + 2 + 1, depois 1 + 3 + 1 + 1, depois 3 + 1 + 1 +1 [1, 2, 1, 1, 1], # Ele soma (1 + 2 (linha 2) + 1 + 1(linha 3)), depois 2 + 1 + 1 + 1, depois 1 + 1 + 1 + 2, depois 1 + 1 + 2 + 1 [1, 1, 1, 2, 1], # Ele soma (1 + 1 (linha 3) + 1 + 1 (linha 4)), depois 1 + 1 + 1 + 2, depois 1 + 2 + 2 + 1, depois 2 + 1 + 1 + 1 [1, 1, 2, 1, 1], # 2, 3 [1, 3, 1, 1, 3] # 4, 2 ] e assim por diante, caso ainda não ficou claro só avisar que tento explicar novamente! Acho que dar para fazer por programação dinâmica mais não tenho mínima ideia de como faria, não encontrei na internet conteúdo que explicasse isso.
  6. Cara poderia ver se essa conversão estaria correta ? Pois a resposta algumas bate e outras não. #include <iostream> using namespace std; int main() { int l, c, m, n, i, j, k; int a[1000][1000], b[1000][1000]; cin >> l >> c >> m >> n; for (i = 0; i < l; i++) for (j = 0; j < c; j++) cin >> a[i][j]; for (i = 0; i < l; i++) { b[i][0] = 0; for (j = 0; j < n; j++) b[i][0] += a[i][j]; for (j = 1; j < c-n+1; j++) b[i][j] = b[i][j-1] + a[i][j+n-1] - a[i][j-1]; } for (j = 0; j < c-n+1; j++) { a[0][j] = 0; for (i = 0; i < m; i++) a[0][j] += b[i][j]; for (i = 1; i < l-m+1; i++) a[i][j] = a[i-1][j] + b[i+m-1][j] - b[i-1][j]; } int max = 0; for (i = 0; i < l-m+1; i++) for (j = 0; j < c-n+1; j++) if ( a[i][j] > max ) max = a[i][j]; cout << max; return 0; } L, C, M, N = input().split() l = int(L) c = int(C) m = int(M) n = int(N) matriz = [0] * l acumulado = [0] * l max_ponto = 0 for i in range(l): entrada = list(map(int, input().split())) matriz[i] = list(entrada) acumulado[i] = list(entrada) a = matriz b = acumulado for i in range(len(b)): if i<l: b[i][0] = 0 for j in range(len(b[i])): if j < n: b[i][0] += a[i][j] for j in range(len(b[i])): if 0 < j < (c-n+1): b[i][j] = b[i][j-1] + a[i][j+n-1] - a[i][j-1] for j in range(len(a)): if j < (c-n+1): a[0][j] = 0 for i in range(len(a[j])): if i < m: a[0][j] += b[i][j] for i in range(len(a[j])): if 0 < i < (l-m+1): a[i][j] = a[i-1][j] + b[i+m-1][j] - b[i-1][j] for i in range(len(a)): if i < l-m+1: for j in range(len(a[i])): if j < (c-n+1): if a[i][j] > max_ponto: max_ponto = a[i][j] print(max_ponto)
  7. Esse a e b são duas matrizes ? adicionado 34 minutos depois Muito obrigado !! Eu conseguir fazer, não precisei traduzir, conseguir seguir uma linha de raciocínio parecida e fiz, o que tinha me quebrado era como eu ia analisar as áreas que podia ser MxN mas eu conseguir, valeu mesmo
  8. Gostaria que alguém de enorme coração fizesse uma 'conversão/tradução' desse algoritmo que está em c++ para python, da questão https://www.urionlinejudge.com.br/judge/en/problems/view/2305 ficaria muitoooooooooooo super grato se alguém conseguir, vai fazer uma pessoa muito feliz kk. #include <iostream> using namespace std; int main() { int l, c, m, n, i, j, k; int a[1000][1000], b[1000][1000]; cin >> l >> c >> m >> n; for (i = 0; i < l; i++) for (j = 0; j < c; j++) cin >> a[i][j]; for (i = 0; i < l; i++) { b[i][0] = 0; for (j = 0; j < n; j++) b[i][0] += a[i][j]; for (j = 1; j < c-n+1; j++) b[i][j] = b[i][j-1] + a[i][j+n-1] - a[i][j-1]; } for (j = 0; j < c-n+1; j++) { a[0][j] = 0; for (i = 0; i < m; i++) a[0][j] += b[i][j]; for (i = 1; i < l-m+1; i++) a[i][j] = a[i-1][j] + b[i+m-1][j] - b[i-1][j]; } int max = 0; for (i = 0; i < l-m+1; i++) for (j = 0; j < c-n+1; j++) if ( a[i][j] > max ) max = a[i][j]; cout << max; return 0; } Muito obrigado!!!
  9. Então, estou com um problema de programação que é basicamente esse problema ai de baixo. Ficaria muito grato se alguém pode-se me dar uma luz kk. Preciso através da entrada do usuário retornar a soma de todas as áreas que o usuário determinou que a matriz contém, por exemplo: tenho uma matriz (determinada também pelo usuário) de 5x5 (5 linhas e 5 colunas) e ele hipoteticamente quer que eu retorne a soma de todas as 2x2 (2 linha e 2 coluna) que a matriz 5x5 contém, ou seja, ele quer todas as somas possíveis da área de tamanho 2x2 que a matriz possui. Exemplo mais palpável: possuo essa matriz em baixo matriz = [[1, 1, 1, 3, 1], [1, 2, 1, 1, 1], [1, 1, 1, 2, 1], [1, 1, 2, 1, 1], [1, 3, 1, 1, 3]] O usuário quer que eu retorne todas as somas possíveis de uma área 2x2 contida na matriz 5x5, ou seja, soma = ([1, 1], [1, 2]) = 5, ([1,1], [2,1]) = 5, ([1,3], [1,1]) = 6 e assim por diante... Se não ficou muito claro peço desculpas e deixa um comentário que eu tento editar ou explicar com outras palavras. Muito obrigado!!
  10. Ajudou sim amigo, mas ainda minha ideia está muito abstrata para a resolução do exercício, eu tenho uma lista do mapa do tabuleiro em formato de matriz, que fica as devidas localizações de cada navio no seguinte formato: [['.', '#', '.', '.', '.', '.', '#'], ['#', '#', '#', '.', '.', '#', '#'], ['.', '#', '.', '.', '.', '.', '#'], ['.', '.', '.', '.', '#', '.', '#'], ['.', '#', '.', '.', '#', '.', '#'], ['.', '#', '#', '#', '#', '.', '#'], ['.', '.', '.', '.', '.', '.', '.', ' ']] Da seguinte entrada : 7 7 .#....# ###..## .#....# ....#.# .#..#.# .####.# ....... Onde as # são navios e os . são as águas, então eu pensei no seguinte fato. Torna as partes dos navios adjacentes em um ÚNICO int cada navio, adicionaria esse int em uma lista e quando eu fosse dando as coordenadas de onde explodiria a bomba eu ia transformando esses int em variável 'X', assim no final quando eu desse todas as coordenadas ele percorre toda a lista do mapa e o número inteiro que não estiver lá é porque ele afundou o navio, logo no final só precisaria fazer a contagem da lista de números inteiros que não está contido no mapa, entende ?? mas ainda está muito abstrata e nem sei se isso é o correto. adicionado 5 minutos depois Também pensei em vez de adicionar nos navios um int, poderia adicionar diretamente o X e manda ele verificar se aos redores de 1 quadrado, direita, esquerda, cima, baixo se estaria com #, caso tivesse eu não contava como navio afundado, mas caso não tivesse eu seguia adiante e analisava o X vizinho a ele, para saber se contem # se eu achasse somente X e PONTO ai eu contava como navio afundado, pois só não é afundado se conter alguma # adjacente, logo se só contém X e PONTO é porque ele foi afundado. Já estou ficando meio maluco nessa questão.
  11. Boa tarde !! Estou com um ***** problema, tenho que fazer um algoritmo para batalha naval e gostaria de saber como poderia implementar flood fill em Python, para que eu possa identificar os blocos vizinhos e ver se existem partes de navio adjacentes e transformar em um só navio para posteriormente contar quantos navios foram afundados a partir das coordenadas dadas pelo usuário. Lembrando que estou fazendo a matriz por lista
  12. Caramba cara, parabéns mano!! Sobre freelancer dar para tirar um dinheiro legal no mês ou semana com dev web ? Se fosse dar uma dica para quem quer começar no mundo de desenvolvimento web e mobile só por diversão e para levantar uma grana, já que só universidade não dar dinheiro a curto prazo... E como estou precisando levantar um dinheiro, vir a web como válvula de escape já que existe uma demanda enorme para o desenvolvimento web, claro que não vai ser do dia pra noite até vou aprender web kkkk mas ao pouco estou aprendendo e gostando bastante!!
  13. Ok!! Muito obrigado amigo, me ajudou muitooo, vou finalizar então o curso de PHP, que já vem com um pacote para o frontend "não muito completo" pois acho as aulas de JS desse curso bem básico, mas já estou fazendo uns planejamento para quando terminar PHP dar uma aprofundada melhor no frontend. Por enquanto html5 e css3 junto com um pouco de JavaScript já me ajuda bastante no front para web e como o curso é php do básico ao super avançado (no caso profissional) dar para ter um ótimo backend. valeu mano, agradeço pela ajuda, você já trabalha como desenvolvedor web ? Se sim, a quanto tempo ?
  14. Então seria mais usual aprender HTML, CSS, banco de dados, git e começar Django ? Infelizmente não conheço bons curso de Django completo que seja barato e não conheço nem um naqueles sites Torrents, se é que me entende... felizmente é muita tecnologia e infelizmente a pessoa acaba se perdendo, eu fiquei de aprender Django para usar em interface, mas como eu tive um professor péssimo em introdução a programação que ensinou tkinter em vez de Django para interface, acabou que fiquei meio perdido, mas sei a lógica de programação bem e sei usar bem o python, só preciso começar a focar nas bibliotecas dele, mas então... Voltando a o que importa, eu finalizo HTML, CSS, banco de dados, git e parto para Django ou concluo PHP ? Eu sério mesmo estou começando a ficar meio perdido kkk mas estou gostando muito de desenvolvimento web!!
  15. Olá pessoa !! Atualmente curso sistema de informação estou no 2° período e a linguagem padrão da universidade é python, tenho um certo domínio em python, mas atualmente queria começar a estudar desenvolvimento web, mas especificamente ser Full Stack (o mais rápido possível) pois necessito começar a fazer freelancer pois nem só de estudo vive o homem kk, mas estou com uma grande dúvida, eu estou fazendo um curso online de PHP, mas inicialmente estou aprendendo html5 e css3, no curso também aprenderei JavaScript do "básico" ao "avançado", está em aspas porque pelo que eu vir é meio superficial comparado a cursos focado em JS, aprenderei também git, Banco de Dados, bootstrep v3 e v4, Jquery, AngularJS, NodeJS. O nodeJS e o angular é bem superficialmente, mas PHP aprendo bem aprofundado, aí é que gera minha dúvida, conversando com amigos e olhando alguns vídeos, percebi que misturar duas linguagens é bem complicado e quero posteriormente migrar para desenvolvimento mobile também, aí recomendaram eu aprender JavaScript e usar apenas JavaScript para front e back e posteriormente aprender React, ficaria mais fácil já que se usa apenas JavaScript. Então minha dúvida é o seguinte, continuo PHP e aprendo totalmente aprofundado com um pouco de JavaScript e depois aprofundo mais em JavaScript ou largo PHP e foco em JavaScript depois futuramente aprendo PHP aprofundado ?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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...