C программная ошибка вызывает удаление памятиC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C программная ошибка вызывает удаление памяти

Сообщение Anonymous »

Я решал задачу кодирования с румынского веб -сайта (перечислено ниже перевода) Но затем все счетчики сбрасываются до 0.
  • Текст: существует архипелаг, образованный с острова, принадлежащего любой стране R, страна G, или страна B. 3}, 0, представляющее воду, территорию 1 R, 2 г и 3 B, мы считаем, что две ячейки соседствуют, если они находятся непосредственно внизу, слева или вправо, без диагонали. Мы рассматриваем как остров любую отдельную ячейку, принадлежащую любой стране или множество соседних клеток той же страны, поэтому, если у нас было 1000320 , мы бы сказали, что существует ровно 3 острова. будет 1 1002 будет 2 и т. Д. Все тестовые примеры имеют решения, поэтому нет случая, когда мост невозможно. Но путь должен быть больше 0 и должен пройти впадину и не может пройти впадины любые ячейки, принадлежащие R, G или B
  • Входные данные: файл с именем insule.in содержит в первой строке n и m со значением из приведенного выше текста. На следующих линии n есть значения m от {0, 1, 2, 3}, пространство не отделяет значения.
  • Требование к выводу: файл Insule.out должен содержать на первой строке. Все значения должны быть разделены пространством. < /Li>
    Пример:

    Код: Выделить всё

    insule.in

Код: Выделить всё

6 7
1000320
0110313
3333000
2033000
2203011
2000010
< /code>
insule.out

Код: Выделить всё

4 2 3 4
< /code>

 Объяснение: Страна R имеет 4 острова, в стране G имеет 2 острова, а страна B имеет 3 острова. Например, мост пересекает ячейки (6,5), (6,4), (6,3), (6,2).

код:

main.cpp

Код: Выделить всё

#include 
#define dmax 104
#define vmax (dmax*dmax)

FILE *f=fopen("insule.in", "r");
FILE *g=fopen("insule.out", "w");
int a[dmax][dmax],c[vmax], l[vmax], m, n, b[dmax][dmax],xR[vmax], yR[vmax], di[4]= {-1, 0, 1, 0}, dj[4]= {0, 1, 0, -1};//m=x; n=y
int nR=0, nG=0, nB=0;

void Lee(int sx, int sy, int num)
{
int p, u, x, y, x1, y1, k;
a[sx][sy]=-1;
p=u=0;
c[p]=sy;
l[p]=sx;
while(p

Подробнее здесь: [url]https://stackoverflow.com/questions/79503583/c-program-bug-causes-memory-deletion[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»