Tin học bài tập pascal

nhsit1062@gmail.com

Học sinh mới
Thành viên
20 Tháng sáu 2015
3
0
16
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

An và Bình là đôi bạn học cùng lớp, họ đi đến trường học cùng nhau vào mỗi buổi sáng. Lên xe buýt họ muốn tìm một cặp ghế ngồi cùng nhau (2 ghế trên cùng một hàng và không bị phân tách bởi lối đi). Phần mềm hiện tại chưa phát triển chức năng này. Hãy lập trình tìm chỗ ngồi ưng ý của An và Bình.
Dữ liệu vào: Dòng đầu tiên chứa 1 số nguyên dương n (1<= n < 1000) là số lượng hàng ghế của từng xe buýt. N dòng tiếp theo mỗi dòng chứa 5 kí tự, 2 kí tự đầu tiên thể hiện cặp ghế đầu tiên trong hàng, kí tự thứ 3 (“|”) thể hiện cho lối đi chính, 2 kí tự cuối cùng thể hiện trạng thái cặp ghế thứ 2 trong hàng.
Tương ứng với mỗi chỗ ngồi trên xe buýt, chỗ ngồi đã có người ngồi thể hiện bằng kí tự X, chỗ ngồi trống thể hiện bằng kí tự O.
Dữ liệu ra: Nếu tồn tại một cặp ghế thỏa mãn điều kiện trên xuất ra kí tự “YES” (không bao gồm dấu ngoặc kép) kèm theo vị trí hàng và thứ tự cặp ghế trong hàng đó. Nếu có nhiều vị trí thõa mãn yêu cầu trên xuất ra vị trí bất kì. Ví dụ tìm thấy cặp ghế thứ 2 thỏa mãn yêu cầu nằm ở hàng thứ 4 thì output sẽ là : YES 4 2. Ngược lại nếu không tìm được một cặp ghế thỏa mãn yêu cầu trên xuất ra “NO” (không bao gồm dấu ngoặc kép).
VD:

Input

Output

7
XX|OX
XO|XX
OX|OO
XX|OX
XX|OO
OO|XX
OO|XX

YES 3 2

3
OX|XO
XO|OX
XX|XX

NO
[TBODY] [/TBODY]
 

Code11

Học sinh
Thành viên
7 Tháng mười 2018
48
19
21
Quảng Nam
THPT Trần Cao Vân
var
f1,f2:text;
a:array[1..1000,1..5] of char;
i,j,n,capghe:integer;ok:boolean;
begin
ok:=false;
assign(f1,'abc.inp');assign(f2,'abc.out');
reset(f1);readln(f1,n);
for i:=1 to n do begin
for j:=1 to 5 do read(f1,a[i,j]);
readln(f1);
end;
close(f1);
rewrite(f2);
i:=1;capghe:=1;j:=1;
repeat
if (a[i,j]=a[i,j+1])and(a[i,j]='o') then begin
write (f2,'Yes ',i,' ',capghe);ok:=true;
break;
end
else begin inc(j,3);capghe:=2;
if j>5 then begin
j:=1;
inc(i);
capghe:=1;
end;
end;
until i>n;
if not ok then write(f2,'No');
close(f2);
end.
 
Top Bottom