2nd_Sem_Bogachev/2025.05.23/dist/Krivoruchenko_SK/solve_04.c
2025-05-20 23:03:18 +03:00

48 lines
764 B
C

#include "solve_04.h"
#include "node.h"
#include <string.h>
int t4_solve (node *head)
{
int maximum = 0, count = 0, local = 0, strict = 0;
node *last, *next;
last = head;
head = last->next;
for (next = head->next; next; next = head->next)
{
int last_cmp = strcmp(head->string, last->string);
if (last_cmp == 0) {
if (strict) {
if (maximum < count)
maximum = count;
count = 0;
local = 1;
} else
local += (local > 0);
} else if (last_cmp < 0) {
if (strict) {
if (maximum < count)
maximum = count;
count = 0;
local = 1;
} else
local += (local > 0);
strict = 0;
} else {
count += local;
local = (local > 0);
strict = 1;
}
last = head;
head = next;
}
return maximum;
}