Plssssssss giúp mình bài này với huhu Trong cuộc thi Khoa học kỹ thuật năm 2018 của Tỉnh Hòa Bình, rất nhiều học sinh, phụ huynh và giáo viên có mặt trong hội trường nhưng sự có mặt của mọi người là không cùng một lúc. Sau khi kết thúc cuộc thi Ban tổ chức muốn biết số lượng người đến nhiều nhất tại một thời điểm là bao nhiêu. Rất may là ban tổ chức đã cho một người ghi chép vào sổ theo trình tự thời gian như sau: cứ 1 người ra ngoài thì ghi "-" (dấu trừ), 1 người đi vào ghi dấu "+" (dấu cộng). Và điều đương nhiên là kết thúc cuộc thi thì không còn người nào trong hội trường, và không thể có trong một thời điểm không có người nào trong hội trường mà lại có người đi ra INPUT • Gồm T test (T ≤ 100), mỗi test chứa một dòng dãy ký hiệu (không quá 255 ký tự) ghi dấu "-" hoặc "+". OUTPUT • Gồm T dòng, mỗi dòng ghi ra 1 số nguyên duy nhất là số lượng người nhiều nhất cùng lúc có mặt trong hội trường.

2 câu trả lời

uses math;
var t,i,d,maxx,q:longint;
    st:string;
begin
readln(t);
for q:=1 to t do
 begin
 readln(st);
 d:=0; maxx:=0;
 for i:=1 to length(st) do
  begin
  if st[i]='+' then inc(d) else dec(d);
  maxx:=max(maxx,d);
  end;
 writeln(maxx);
 end;
end.

như thế này

uses math;
var t,i,d,maxx,q:longint;
    st:string;
begin
readln(t);
for q:=1 to t do
 begin
 readln(st);
 d:=0; maxx:=0;
 for i:=1 to length(st) do
  begin
  if st[i]='+' then inc(d) else dec(d);
  maxx:=max(maxx,d);
  end;
 writeln(maxx);
 end;
end.

Câu hỏi trong lớp Xem thêm