PTIT138C – BÀI C – SỐ THUẬN NGHỊCH

Đề bài PTIT138C

Ngày nay, việc sử dụng bàn phím điện thoại di động để nhấn các số đã trở thành một việc rất quen thuộc với các bạn sinh viên. Ai cũng biết các phím số trên điện thoại cũng là các phím dùng để nhấn các chữ cái:

2: ABC, 3: DEF, 4: GHI, 5: JKL, 6: MNO, 7: PQRS, 8: TUV, 9: WXYZ

Nam viết ra giấy một dãy ký tự và đố Bình xác định đó là dãy số nào theo cách nhấn số trên điện thoại (chỉ xem xét sự tương ứng giữa số và ký tự chứ không xem xét phải nhấn bao nhiêu lần phím đó, ví dụ cả A, B, C đều là một số 2).

Bình rất nhanh chóng xác định được kết quả, không những thế Bình còn muốn xác định nhanh xem số đó có phải là số dạng thuận nghịch hay không.  Một số là thuận nghịch nếu viết theo thứ tự ngược lại cũng là chính nó. Hãy viết chương trình giúp Bình thực hiện công việc trên.

Input

  • Dòng đầu tiên chứa số n là số bộ test (không quá 1000).
  • Mỗi bộ test viết trên một dòng một dãy ký tự gồm các chữ cái có thể là chữ hoa hoặc chữ thường, dài không quá 20 ký tự, không có khoảng trống.

Output

  • Với mỗi bộ test, in ra màn hình, trên một dòng, chữ “YES” nếu đó tương ứng là số thuận nghịch, chữ “NO” nếu ngược lại.

Example

Input:

2
ANBOBNA
iAmACoolCompany

 Output:

YES
NO

Code tham khảo PTIT138C – BÀI C – SỐ THUẬN NGHỊCH:

const   fi='';
type    data=longint;
var
        f:text;
        s:string;
        i,test,j:data;

function tinh(c:char):char;
begin
        c:=upcase(c);
        case c of
        'A'..'C': exit('2');
        'D'..'F': exit('3');
        'G'..'I': exit('4');
        'J'..'L': exit('5');
        'M'..'O': exit('6');
        'P'..'S': exit('7');
        'T'..'V': exit('8');
        'W'..'Z': exit('9');
        end;
end;

function check:boolean;
var     i:data;
        st,sk:string;
begin
        st:='';
        sk:='';
        for i:=1 to length(s) do
                begin
                        st:=tinh(s[i])+st;
                        sk:=sk+tinh(s[i]);
                end;

        if st=sk then
                writeln('YES')
        else
                writeln('NO');

end;

begin
        assign(f,fi); reset(f);
        readln(f,test);
        for i:=1 to test do
                begin
                        readln(f,s);
                        check;
                end;
end.

 

 

3 thoughts on “PTIT138C – BÀI C – SỐ THUẬN NGHỊCH

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *