Trang chủ Tin Học Lớp 8 Mật hiệu ban đầu của tổ chức tình báo XSPIDER...

Mật hiệu ban đầu của tổ chức tình báo XSPIDER là một xâu K kí tự S = S1S2…SK chỉ chứa các kí tự chữ cái Latin thường. Để đảm bảo tính bảo mật của mật hiệu, mật

Câu hỏi :

Mật hiệu ban đầu của tổ chức tình báo XSPIDER là một xâu K kí tự S = S1S2…SK chỉ chứa các kí tự chữ cái Latin thường. Để đảm bảo tính bảo mật của mật hiệu, mật hiệu sẽ được thay đổi mỗi ngày. Giám đốc của XSPIDER mỗi ngày sẽ gửi cho các nhân viên một số nguyên X với hàm ý: đảo ngược các kí tự trong mật hiệu hiện tại từ kí tự thứ X đến kí tự thứ K-X+1 để được mật hiệu mới. (ví dụ mật hiệu hiện tại là ‘abcdefgh’, và số X nhận được là 2 thì mật khẩu mới là ‘agfedcbh’). Sau M ngày hoạt động, giám đốc chỉ lưu lại dãy M con số đã chuyển cho các nhân viên lần lượt là X1,X2,…,XM với suy nghĩ có dãy số này Ông ta sẽ dễ dàng có được mật hiệu của ngày thứ M. Thật không may là số ngày M quá lớn, Ông mất quá nhiều thời gian để tìm ra mật hiệu đó. Bạn hãy viết chương trình giúp Ông ta tìm mật hiệu đó. Dữ liệu vào: cho trong tệp MATHIEU.INP có cấu trúc như sau: - Dòng thứ nhất ghi xâu mật hiệu ban đầu S1S2…SK (2 ≤ K ≤ 2.10^5) - Dòng thứ hai chứa số ngày M (1 ≤ M ≤ 10^5) - Dòng tiếp theo chứa dãy M số X1,X2,…,XM (1 ≤ Xi, 2.Xi ≤ K với mọi i từ 1 đến M) Dữ liệu ra: ghi vào tệp MATHIEU.OUT xâu mật hiệu hiện tại sau M ngày. Ví dụ: MATHIEU.INP MATHIEU.OUT abcdefgh hbfedcga 3 2 1 3 PASCAL GIẢI THÍCH Ý TƯỞNG CÁCH LÀM LUÔN NHA MƠN Ạ

Lời giải 1 :

uses crt;
var s: ansistring;
    p: array[0..100000] of longint;
    i, a, m: longint;

procedure swap(var a, b: char);
var tmp:char;
begin
    tmp:=a; a:=b; b:=tmp;
end;

begin
    clrscr;
    readln(s);
    readln(m);
    while m > 0 do begin
        read(a);
        inc(p[a]);
        dec(m);
    end;
    for i:=1 to length(s) div 2 do inc(p[i], p[i - 1]);
    for i:=1 to length(s) div 2 do
        if p[i] mod 2 <> 0 then swap(s[i], s[length(s) - i + 1]);
    writeln(s);
readln;
end.

Thảo luận

-- giải thích ý tưởng của bạn với
-- https://hoidap247.com/cau-hoi/3136052 HELP
-- alo help please
-- bài này giải thích với ạ :v
-- gth dc chua ban oi :VV
-- for i:=1 to length(s) div 2 do inc(p[i], p[i - 1]); for i:=1 to length(s) div 2 do if p[i] mod 2 <> 0 then swap(s[i], s[length(s) - i + 1]); writeln(s); đoạn này làm gì
-- abcdefgh bạn gth trên vd cho dễ hiểu với
-- alo :v

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần, sang năm lại là năm cuối cấp áp lực lớn dần nhưng các em vẫn phải chú ý sức khỏe nhé!

Nguồn : ADMIN :))

Copyright © 2021 HOCTAP247