Шабакаи рамзҳо вектори сатрҳо аст: барои ҳар сатри шабака як сатр. Сатр қатори char-ҳост, бинобар ин g[r][c] рамзи сатри r, сутуни c аст:
cin >> g[r] тамоми сатрро якбора мехонад, зеро дар сатр фосила нест. Барои кашидани расм аз шабакаи пур аз нуқтаҳо оғоз кунед, рамзҳоро ба ҷояшон гузоред ва онро сатр ба сатр чоп кунед. string(8, '.') сатри 8 нуқта аст, ки ҳамон тавр сохта мешавад, ки vector<int>(m) сатри m сифрро месозад:
Кашидан аксар вақт аз он содатар аст, ки ҳангоми чоп ҳар катакро бо if ҳал кунед. Ҳар порча нишонаҳои худро мегузорад ва охирин ғолиб меояд. Бинобар ин худи мӯҳраро охирин гузоред, болои нишонаҳо.
Координатаҳо аз шарт
Шартҳо катакҳоро бо роҳҳои гуногун тавсиф мекунанд. Тахтаи шоҳмотро одатан бо сутун аз чап ва сатр аз поён медиҳанд, ҳарду аз 1. Аммо мо тахтаро аз сатри боло ба поён чоп мекунем. Ҳар координатаро фавран пас аз хондан ба сатр ва сутуни худатон табдил диҳед, ҳарду аз 0:
Сатри i аз боло, сутуни j, ҳарду аз 1: r = i - 1, c = j - 1.
Сутуни x аз чап, сатри y аз поён, дар тахтаи 8 × 8: r = 8 - y, c = x - 1.
Ҳамин дар тахтаи n × n: r = n - y, c = x - 1.
Баъд аз ин боқимондаи барнома дигар дар бораи рақамгузории шарт фикр намекунад.
Ҳамсояҳо: dr ва dc
Катакҳои паҳлӯи (r, c) як сатр боло ё поён, як сутун чап ё рост ҳастанд. Ба ҷои чор нусхаи як код қадамҳоро дар ду массиви хурд нависед ва аз рӯи онҳо сикл гузаронед. Массиви хурд бо андозааш дар қавсҳо ва қиматҳояш дар қавсҳои фигурӣ навишта мешавад: int dr[4] = {-1, 0, 1, 0}; чор ҷой дорад, аз dr[0] то dr[3], мисли вектори андозааш 4. Қадам ҷуфти (dr, dc) аст: тағйири сатр, баъд тағйири сутун.
Катак ва чор ҳамсояи он. Ба ҳар кадом бо қадами (dr, dc) мерасанд.
Инро барои ҳар катак иҷро кунед, бо ду сикл аз рӯи r ва c дар гирди сикл аз рӯи d, ва шумо ҳисобкунаки сапёр ё санҷиши ҷойи ором дар таваққуфгоҳи мошинҳо доред. Онро дар таваққуфгоҳи воқеӣ озмоед:
Ҷойи таваққуфи оромсанҷида бин!
Кашидани тахта аз рӯи мӯҳра
Ҳаракатҳои мӯҳра танҳо dr ва dc-и дигар мебошанд. Асп ба як тараф ду катак ва ба тарафи дигар як катак ҷаҳида мегузарад: ҳамагӣ ҳашт ҷаҳиш.
Асп дар сутуни x, сатри y (сатрҳо аз поён шумурда мешаванд) тахтаи шоҳмоти 8 × 8 истодааст. Тахтаро аз сатри боло чоп кунед: N барои асп, * ҷое ки ҷаҳида метавонад, . дар ҷойҳои дигар.
Вуруд
Баромад
Координатаҳо фавран ба r ва c табдил меёбанд. Ҳар ҷаҳиш бо канорҳо санҷида мешавад. N охирин гузошта мешавад, баъди ҷаҳишҳо. Шоҳ ба ҳашт ҳамсоя ҳаракат мекунад. Рух тамоми сатр ва сутуни худро мезанад: ҳар катак бо r2 == r ё c2 == c, ки ду сикл аз рӯи тахта онро бевосита месанҷанд.
Шабака 5 сатр ва 6 сутун дорад. Катаки миёнаи сатри боло ҳашт ҳамсоя дорад, аммо баъзеашон берун аз шабака ҳастанд. Аз ҳашт то чандтои он дар дохили шабака аст?
Барои ҷавоб додан ва нигоҳ доштани пешрафт ворид шавед.Ворид шудан
худро санҷ1 хол
Ин шарт барои ҳар гуна nr ва nc бехатар аст, зеро && ҳамаи қисмҳояшро месанҷад:
Барои ҷавоб додан ва нигоҳ доштани пешрафт ворид шавед.Ворид шудан
худро санҷ1 хол
Ин код чӣ чоп мекунад?
Як ҷавобро интихоб кунед
Барои ҷавоб додан ва нигоҳ доштани пешрафт ворид шавед.Ворид шудан
худро санҷ1 хол
Тахтаи 8 × 8 ҳамчун vector<string> b(8) нигоҳ дошта мешавад, сатри 0 дар боло. Дар шарти масъала мӯҳра дар сутуни x = 3 аз чап ва дар сатри y = 1, ки аз поён ҳисоб карда мешавад, ҷойгир аст, ҳарду аз 1. Ин кадом катак аст?
Як ҷавобро интихоб кунед
Барои ҷавоб додан ва нигоҳ доштани пешрафт ворид шавед.Ворид шудан
худро санҷ1 хол
int dr[4] = {-1, 0, 1, 0}; ва int dc[4] = {0, 1, 0, -1};. Ҳамсояи рақами d-и катаки (r, c) — (r + dr[d], c + dc[d]) аст. Ҳамсояи d = 3-и катаки (2, 5) кадом катак аст?
Як ҷавобро интихоб кунед
Барои ҷавоб додан ва нигоҳ доштани пешрафт ворид шавед.Ворид шудан
худро санҷ1 хол
Рух дар сатри r, сутуни c истодааст. Агар дар роҳ девор набошад, барои катаки (r2, c2), ки рух онро мезанад, кадом шарт дуруст аст?
Як ҷавобро интихоб кунед
Барои ҷавоб додан ва нигоҳ доштани пешрафт ворид шавед.Ворид шудан