SlideShare a Scribd company logo
AMR11A - Magic Grid
Mauro Roberto Costa - maurorcsc@gmail.com
Problema
AMR11A - Magic Grid
http://www.spoj.com/problems/AMR11A/
Descrição do Problema
Ajude Harry Potter a encontrar a Pedra Filosofal. Você receberá uma Magic Grid
com R linhas e C colunas. Cada célula pode possuir um dragão, que fará o Harry
gastar energia para derrotá-lo, ou uma poção, que aumentará a energia de Harry.
Se sua energia cair para 0 ou menos durante a jornada, Harry morrerá. A jornada
é iniciada na célula (1,1) e Harry só pode mover para direita ou para baixo, para a
célula (i+1, j) ou (i, j+1). A Pedra Filosofal encontra-se na célula (R, C).
Entrada
A entrada do problema é composta por um inteiro T indicando o número de casos
de testes. Para cada caso de teste são dados os valores R e C, que representam
o número de linhas e colunas da Magic Grid, respectivamente. A descrição da
Magic Grid é dada em R linhas com C inteiros. Células (i, j) < 0 contêm dragão, as
demais possuem poção.
Saída
A saída é composta por T linhas, uma para cada caso de teste, contendo o valor
mínimo de energia que Harry precisa começar na célula (1,1) para conseguir
completar a jornada até a célula (R,C).
Solução Recursiva
rec(i, j):
se i = R e j = C então:
retorne 1
senão:
c1 <- c2 <- INFINITO
se i+1 < R então:
c1 <- max(rec(i+1, j)-M[i][j], 1)
se j+1 < C então:
c2 <- max(rec(i, j+1)-M[i][j], 1)
retorne min(c1, c2)
Programação Dinâmica
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M Matriz S
A matriz M representa a Matriz de Entrada do problema. A Matriz S é uma matriz auxiliar ou
Matriz de Solução. O preenchimento da matriz S será realizado da direita para esquerda, de
baixo para cima.
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M
1
Matriz S
A célula (R,C) da Matriz de Solução é preenchida com 1, porque é necessário que Harry possua
pelo menos 1 de energia ao chegar no final.
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M
1
Matriz S
Para cada posição na linha R (da direita para a esquerda), se S[R][j+1] - M[R][j] > 0, S[R][j] =
S[R][j+1] - M[R][j]. Caso contrário, o valor de S[R][j+1] = 1.
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M
3 1
Matriz S
Para cada posição na linha R (da direita para a esquerda), se S[R][j+1] - M[R][j] > 0, S[R][j] =
S[R][j+1] - M[R][j]. Caso contrário, o valor de S[R][j+1] = 1.
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M
3 1
Matriz S
Para cada posição na linha R (da direita para a esquerda), se S[R][j+1] - M[R][j] > 0, S[R][j] =
S[R][j+1] - M[R][j]. Caso contrário, o valor de S[R][j+1] = 1.
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M
2 3 1
Matriz S
Para cada posição na linha R (da direita para a esquerda), se S[R][j+1] - M[R][j] > 0, S[R][j] =
S[R][j+1] - M[R][j]. Caso contrário, o valor de S[R][j+1] = 1.
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M
2 3 1
Matriz S
Para cada posição na coluna C (de baixo para cima), se S[i+1][C] - M[i][C] > 0, S[i][C] = S[i+1][C] -
M[i][C]. Caso contrário, o valor de S[i+1][C] = 1.
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M
4
2 3 1
Matriz S
Para cada posição na coluna C (de baixo para cima), se S[i+1][C] - M[i][C] > 0, S[i][C] = S[i+1][C] -
M[i][C]. Caso contrário, o valor de S[i+1][C] = 1.
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M
4
2 3 1
Matriz S
Para cada posição de (R-1, C-1) até (1,1), encontra-se o menor entre S[i+1][j] e S[i][j+1]. Se o
menor - M[i][j] > 0, S[i][j] = menor - M[i][j]. Caso contrário, S[i][j] = 1.
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M
2 4
2 3 1
Matriz S
Para cada posição de (R-1, C-1) até (1,1), encontra-se o menor entre S[i+1][j] e S[i][j+1]. Se o
menor - M[i][j] > 0, S[i][j] = menor - M[i][j]. Caso contrário, S[i][j] = 1.
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M
2 4
2 3 1
Matriz S
Para cada posição de (R-1, C-1) até (1,1), encontra-se o menor entre S[i+1][j] e S[i][j+1]. Se o
menor - M[i][j] > 0, S[i][j] = menor - M[i][j]. Caso contrário, S[i][j] = 1.
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M
2 2 4
2 3 1
Matriz S
Para cada posição de (R-1, C-1) até (1,1), encontra-se o menor entre S[i+1][j] e S[i][j+1]. Se o
menor - M[i][j] > 0, S[i][j] = menor - M[i][j]. Caso contrário, S[i][j] = 1.
Preenchimento da Matriz
0 1 -3
1 -2 0
Matriz M
2 2 4
2 3 1
Matriz S
A solução do problema encontra-se na célula (1,1) da matriz.
Pseudocódigo da Solução
DP():
S[R][C] <- 1
para i de C-1 até 1 faça:
se S[R][i+1] - M[R][i] > 0 então:
S[R][i] <- S[R][i+1] - M[R][i]
senão:
S[R][i] <- 1
para j de R-1 até 1 faça:
se S[j+1][C] - M[j][C] > 0 então:
S[j][C] <- S[j+1][C] - M[j][C]
senão:
S[j][C] <- 1
para i de R-1 até 0 faça:
para j de C-1 até 0 faça:
menor <- min(S[i+1][j], S[i][j+1])
se menor - M[i][j] > 0 então:
S[i][j] <- menor - M[i][j]
senão:
s[i][j] <- 1
retorne S[1][1]
Obrigado

More Related Content

Viewers also liked

Синдром Вольфа-Паркинсона
Синдром Вольфа-ПаркинсонаСиндром Вольфа-Паркинсона
Синдром Вольфа-ПаркинсонаMariaBaumgertner
 
Content Delivery in an On-Demand Age
Content Delivery in an On-Demand AgeContent Delivery in an On-Demand Age
Content Delivery in an On-Demand AgeHostway|HOSTING
 
Java, android 스터티5
Java, android 스터티5Java, android 스터티5
Java, android 스터티5Heejun Kim
 
Global 2 d x ray equipment market- shares, strategies, and forecasts, worldwi...
Global 2 d x ray equipment market- shares, strategies, and forecasts, worldwi...Global 2 d x ray equipment market- shares, strategies, and forecasts, worldwi...
Global 2 d x ray equipment market- shares, strategies, and forecasts, worldwi...pramodsing4
 
مادة الفروق الفردية- لمسه- المجموعة الاولى
مادة الفروق الفردية- لمسه- المجموعة الاولىمادة الفروق الفردية- لمسه- المجموعة الاولى
مادة الفروق الفردية- لمسه- المجموعة الاولىSalah Abdelsalam
 
150326 Report on LGBT by Congress_Local_Regional_Authorities_CoE_final
150326 Report on LGBT by Congress_Local_Regional_Authorities_CoE_final150326 Report on LGBT by Congress_Local_Regional_Authorities_CoE_final
150326 Report on LGBT by Congress_Local_Regional_Authorities_CoE_finalJuul van Hoof
 
Report Out Presentation - Air(2nd)
Report Out Presentation - Air(2nd)Report Out Presentation - Air(2nd)
Report Out Presentation - Air(2nd)Sarah Hartman
 
EPC Oral Presentation 1 - Religious Buildings around the world
EPC Oral Presentation 1 - Religious Buildings around the worldEPC Oral Presentation 1 - Religious Buildings around the world
EPC Oral Presentation 1 - Religious Buildings around the worldOng En
 
Atitudes - Psicologia
Atitudes - PsicologiaAtitudes - Psicologia
Atitudes - PsicologiaSara Afonso
 
Vliv pristehovalcu v_cr
Vliv pristehovalcu v_crVliv pristehovalcu v_cr
Vliv pristehovalcu v_crKvjeta
 
Projeto de Lei nº 034-2012 Institui o programa Brigadas de Prevenção e Combat...
Projeto de Lei nº 034-2012 Institui o programa Brigadas de Prevenção e Combat...Projeto de Lei nº 034-2012 Institui o programa Brigadas de Prevenção e Combat...
Projeto de Lei nº 034-2012 Institui o programa Brigadas de Prevenção e Combat...Câmara Municipal de Lauro de Freitas
 
MRP Referral Agent Opportunity Postcard
MRP Referral Agent Opportunity PostcardMRP Referral Agent Opportunity Postcard
MRP Referral Agent Opportunity PostcardDavid B. Earl
 
2014 06-16-feminism and ecofeminism
2014 06-16-feminism and ecofeminism2014 06-16-feminism and ecofeminism
2014 06-16-feminism and ecofeminismEvan Chin
 
La vida en altres temps i ara
La vida en altres temps i araLa vida en altres temps i ara
La vida en altres temps i aracarme tribo berga
 

Viewers also liked (20)

Синдром Вольфа-Паркинсона
Синдром Вольфа-ПаркинсонаСиндром Вольфа-Паркинсона
Синдром Вольфа-Паркинсона
 
Paula
PaulaPaula
Paula
 
Content Delivery in an On-Demand Age
Content Delivery in an On-Demand AgeContent Delivery in an On-Demand Age
Content Delivery in an On-Demand Age
 
scan3
scan3scan3
scan3
 
Java, android 스터티5
Java, android 스터티5Java, android 스터티5
Java, android 스터티5
 
Global 2 d x ray equipment market- shares, strategies, and forecasts, worldwi...
Global 2 d x ray equipment market- shares, strategies, and forecasts, worldwi...Global 2 d x ray equipment market- shares, strategies, and forecasts, worldwi...
Global 2 d x ray equipment market- shares, strategies, and forecasts, worldwi...
 
Comunicacion escrita 1
Comunicacion escrita 1Comunicacion escrita 1
Comunicacion escrita 1
 
مادة الفروق الفردية- لمسه- المجموعة الاولى
مادة الفروق الفردية- لمسه- المجموعة الاولىمادة الفروق الفردية- لمسه- المجموعة الاولى
مادة الفروق الفردية- لمسه- المجموعة الاولى
 
150326 Report on LGBT by Congress_Local_Regional_Authorities_CoE_final
150326 Report on LGBT by Congress_Local_Regional_Authorities_CoE_final150326 Report on LGBT by Congress_Local_Regional_Authorities_CoE_final
150326 Report on LGBT by Congress_Local_Regional_Authorities_CoE_final
 
Report Out Presentation - Air(2nd)
Report Out Presentation - Air(2nd)Report Out Presentation - Air(2nd)
Report Out Presentation - Air(2nd)
 
EPC Oral Presentation 1 - Religious Buildings around the world
EPC Oral Presentation 1 - Religious Buildings around the worldEPC Oral Presentation 1 - Religious Buildings around the world
EPC Oral Presentation 1 - Religious Buildings around the world
 
Atitudes - Psicologia
Atitudes - PsicologiaAtitudes - Psicologia
Atitudes - Psicologia
 
Protecting profits when currencies fluctuate
Protecting profits when currencies fluctuateProtecting profits when currencies fluctuate
Protecting profits when currencies fluctuate
 
Vliv pristehovalcu v_cr
Vliv pristehovalcu v_crVliv pristehovalcu v_cr
Vliv pristehovalcu v_cr
 
Projeto de Lei nº 034-2012 Institui o programa Brigadas de Prevenção e Combat...
Projeto de Lei nº 034-2012 Institui o programa Brigadas de Prevenção e Combat...Projeto de Lei nº 034-2012 Institui o programa Brigadas de Prevenção e Combat...
Projeto de Lei nº 034-2012 Institui o programa Brigadas de Prevenção e Combat...
 
Diapositiva 1
Diapositiva 1Diapositiva 1
Diapositiva 1
 
MRP Referral Agent Opportunity Postcard
MRP Referral Agent Opportunity PostcardMRP Referral Agent Opportunity Postcard
MRP Referral Agent Opportunity Postcard
 
2014 06-16-feminism and ecofeminism
2014 06-16-feminism and ecofeminism2014 06-16-feminism and ecofeminism
2014 06-16-feminism and ecofeminism
 
La vida en altres temps i ara
La vida en altres temps i araLa vida en altres temps i ara
La vida en altres temps i ara
 
Tspkab
TspkabTspkab
Tspkab
 

Recently uploaded

PPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 finalPPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 finalcarlaOliveira438
 
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdfRespostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdfssuser06ee57
 
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docxAtividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docxSolangeWaltre
 
Exercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfExercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfRILTONNOGUEIRADOSSAN
 
clubinho-bio-2.pdf vacinas saúde importância
clubinho-bio-2.pdf vacinas saúde importânciaclubinho-bio-2.pdf vacinas saúde importância
clubinho-bio-2.pdf vacinas saúde importânciaLuanaAlves940822
 
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...LuizHenriquedeAlmeid6
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalcarlamgalves5
 
Labor e Trabalho em A Condição Humana de Hannah Arendt .pdf
Labor e Trabalho em A Condição Humana de Hannah Arendt .pdfLabor e Trabalho em A Condição Humana de Hannah Arendt .pdf
Labor e Trabalho em A Condição Humana de Hannah Arendt .pdfemeio123
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfrarakey779
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfrarakey779
 
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_AssisMemórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assisbrunocali007
 
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdfARIANAMENDES11
 
Slides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptx
Slides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptxSlides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptx
Slides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptxLuizHenriquedeAlmeid6
 
22-modernismo-5-prosa-de-45.pptxrpnsaaaa
22-modernismo-5-prosa-de-45.pptxrpnsaaaa22-modernismo-5-prosa-de-45.pptxrpnsaaaa
22-modernismo-5-prosa-de-45.pptxrpnsaaaaCarolineFrancielle
 
"Nós Propomos! Mobilidade sustentável na Sertã"
"Nós Propomos! Mobilidade sustentável na Sertã""Nós Propomos! Mobilidade sustentável na Sertã"
"Nós Propomos! Mobilidade sustentável na Sertã"Ilda Bicacro
 
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxSão Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxMartin M Flynn
 
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfAS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfssuserbb4ac2
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número Mary Alvarenga
 
Apresentação de vocabulário fundamental em contexto de atendimento
Apresentação de vocabulário fundamental em contexto de atendimentoApresentação de vocabulário fundamental em contexto de atendimento
Apresentação de vocabulário fundamental em contexto de atendimentoPedroFerreira53928
 
Poema - Reciclar é preciso
Poema            -        Reciclar é precisoPoema            -        Reciclar é preciso
Poema - Reciclar é precisoMary Alvarenga
 

Recently uploaded (20)

PPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 finalPPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 final
 
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdfRespostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
 
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docxAtividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
 
Exercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfExercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdf
 
clubinho-bio-2.pdf vacinas saúde importância
clubinho-bio-2.pdf vacinas saúde importânciaclubinho-bio-2.pdf vacinas saúde importância
clubinho-bio-2.pdf vacinas saúde importância
 
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animal
 
Labor e Trabalho em A Condição Humana de Hannah Arendt .pdf
Labor e Trabalho em A Condição Humana de Hannah Arendt .pdfLabor e Trabalho em A Condição Humana de Hannah Arendt .pdf
Labor e Trabalho em A Condição Humana de Hannah Arendt .pdf
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
 
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_AssisMemórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
Memórias_póstumas_de_Brás_Cubas_ Machado_de_Assis
 
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
 
Slides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptx
Slides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptxSlides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptx
Slides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptx
 
22-modernismo-5-prosa-de-45.pptxrpnsaaaa
22-modernismo-5-prosa-de-45.pptxrpnsaaaa22-modernismo-5-prosa-de-45.pptxrpnsaaaa
22-modernismo-5-prosa-de-45.pptxrpnsaaaa
 
"Nós Propomos! Mobilidade sustentável na Sertã"
"Nós Propomos! Mobilidade sustentável na Sertã""Nós Propomos! Mobilidade sustentável na Sertã"
"Nós Propomos! Mobilidade sustentável na Sertã"
 
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxSão Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
 
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfAS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número
 
Apresentação de vocabulário fundamental em contexto de atendimento
Apresentação de vocabulário fundamental em contexto de atendimentoApresentação de vocabulário fundamental em contexto de atendimento
Apresentação de vocabulário fundamental em contexto de atendimento
 
Poema - Reciclar é preciso
Poema            -        Reciclar é precisoPoema            -        Reciclar é preciso
Poema - Reciclar é preciso
 

AMR11A - Magic Grid

  • 1. AMR11A - Magic Grid Mauro Roberto Costa - maurorcsc@gmail.com
  • 2. Problema AMR11A - Magic Grid http://www.spoj.com/problems/AMR11A/
  • 3. Descrição do Problema Ajude Harry Potter a encontrar a Pedra Filosofal. Você receberá uma Magic Grid com R linhas e C colunas. Cada célula pode possuir um dragão, que fará o Harry gastar energia para derrotá-lo, ou uma poção, que aumentará a energia de Harry. Se sua energia cair para 0 ou menos durante a jornada, Harry morrerá. A jornada é iniciada na célula (1,1) e Harry só pode mover para direita ou para baixo, para a célula (i+1, j) ou (i, j+1). A Pedra Filosofal encontra-se na célula (R, C).
  • 4. Entrada A entrada do problema é composta por um inteiro T indicando o número de casos de testes. Para cada caso de teste são dados os valores R e C, que representam o número de linhas e colunas da Magic Grid, respectivamente. A descrição da Magic Grid é dada em R linhas com C inteiros. Células (i, j) < 0 contêm dragão, as demais possuem poção.
  • 5. Saída A saída é composta por T linhas, uma para cada caso de teste, contendo o valor mínimo de energia que Harry precisa começar na célula (1,1) para conseguir completar a jornada até a célula (R,C).
  • 6. Solução Recursiva rec(i, j): se i = R e j = C então: retorne 1 senão: c1 <- c2 <- INFINITO se i+1 < R então: c1 <- max(rec(i+1, j)-M[i][j], 1) se j+1 < C então: c2 <- max(rec(i, j+1)-M[i][j], 1) retorne min(c1, c2)
  • 8. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M Matriz S A matriz M representa a Matriz de Entrada do problema. A Matriz S é uma matriz auxiliar ou Matriz de Solução. O preenchimento da matriz S será realizado da direita para esquerda, de baixo para cima.
  • 9. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M 1 Matriz S A célula (R,C) da Matriz de Solução é preenchida com 1, porque é necessário que Harry possua pelo menos 1 de energia ao chegar no final.
  • 10. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M 1 Matriz S Para cada posição na linha R (da direita para a esquerda), se S[R][j+1] - M[R][j] > 0, S[R][j] = S[R][j+1] - M[R][j]. Caso contrário, o valor de S[R][j+1] = 1.
  • 11. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M 3 1 Matriz S Para cada posição na linha R (da direita para a esquerda), se S[R][j+1] - M[R][j] > 0, S[R][j] = S[R][j+1] - M[R][j]. Caso contrário, o valor de S[R][j+1] = 1.
  • 12. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M 3 1 Matriz S Para cada posição na linha R (da direita para a esquerda), se S[R][j+1] - M[R][j] > 0, S[R][j] = S[R][j+1] - M[R][j]. Caso contrário, o valor de S[R][j+1] = 1.
  • 13. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M 2 3 1 Matriz S Para cada posição na linha R (da direita para a esquerda), se S[R][j+1] - M[R][j] > 0, S[R][j] = S[R][j+1] - M[R][j]. Caso contrário, o valor de S[R][j+1] = 1.
  • 14. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M 2 3 1 Matriz S Para cada posição na coluna C (de baixo para cima), se S[i+1][C] - M[i][C] > 0, S[i][C] = S[i+1][C] - M[i][C]. Caso contrário, o valor de S[i+1][C] = 1.
  • 15. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M 4 2 3 1 Matriz S Para cada posição na coluna C (de baixo para cima), se S[i+1][C] - M[i][C] > 0, S[i][C] = S[i+1][C] - M[i][C]. Caso contrário, o valor de S[i+1][C] = 1.
  • 16. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M 4 2 3 1 Matriz S Para cada posição de (R-1, C-1) até (1,1), encontra-se o menor entre S[i+1][j] e S[i][j+1]. Se o menor - M[i][j] > 0, S[i][j] = menor - M[i][j]. Caso contrário, S[i][j] = 1.
  • 17. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M 2 4 2 3 1 Matriz S Para cada posição de (R-1, C-1) até (1,1), encontra-se o menor entre S[i+1][j] e S[i][j+1]. Se o menor - M[i][j] > 0, S[i][j] = menor - M[i][j]. Caso contrário, S[i][j] = 1.
  • 18. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M 2 4 2 3 1 Matriz S Para cada posição de (R-1, C-1) até (1,1), encontra-se o menor entre S[i+1][j] e S[i][j+1]. Se o menor - M[i][j] > 0, S[i][j] = menor - M[i][j]. Caso contrário, S[i][j] = 1.
  • 19. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M 2 2 4 2 3 1 Matriz S Para cada posição de (R-1, C-1) até (1,1), encontra-se o menor entre S[i+1][j] e S[i][j+1]. Se o menor - M[i][j] > 0, S[i][j] = menor - M[i][j]. Caso contrário, S[i][j] = 1.
  • 20. Preenchimento da Matriz 0 1 -3 1 -2 0 Matriz M 2 2 4 2 3 1 Matriz S A solução do problema encontra-se na célula (1,1) da matriz.
  • 21. Pseudocódigo da Solução DP(): S[R][C] <- 1 para i de C-1 até 1 faça: se S[R][i+1] - M[R][i] > 0 então: S[R][i] <- S[R][i+1] - M[R][i] senão: S[R][i] <- 1 para j de R-1 até 1 faça: se S[j+1][C] - M[j][C] > 0 então: S[j][C] <- S[j+1][C] - M[j][C] senão: S[j][C] <- 1 para i de R-1 até 0 faça: para j de C-1 até 0 faça: menor <- min(S[i+1][j], S[i][j+1]) se menor - M[i][j] > 0 então: S[i][j] <- menor - M[i][j] senão: s[i][j] <- 1 retorne S[1][1]