INSERTEVEN

Xem dạng PDF

Gửi bài giải

Điểm: 0,01 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho một danh sách liên kết đơn, trong đó mỗi nút được mô tả bởi cấu trúc:

struct Node {
    int data;
    Node *next;
};

Danh sách được biểu diễn bởi con trỏ head, trỏ tới nút đầu tiên; danh sách kết thúc khi trường next của nút cuối cùng có giá trị NULL.

Nhiệm vụ của bạn là chèn thêm các số chẵn dương vào danh sách như sau:

  • Trước nút đầu tiên của danh sách, chèn một nút mới có data = 2.

  • Trước nút thứ hai (ban đầu), chèn một nút mới có data = 4.

  • Trước nút thứ ba (ban đầu), chèn một nút mới có data = 6.

  • Cứ tiếp tục như vậy, với mỗi nút ban đầu thứ ~i~ (tính từ 1), chèn một nút mới có data = 2 * i ngay trước nó.

Danh sách rỗng (head == NULL) thì giữ nguyên.

Để làm điều này, bạn cần hoàn thiện một hàm trong mã nguồn của giám khảo (xem template ở dưới).

#include "judgement.h"
// Thư viện này chứa sẵn struct Node và các logic kiểm tra

// Được phép khai báo thêm hàm/biến/thư viện ở đây nếu cần

void insertEvenNumbers(Node *&head) {
    // Hoàn thiện hàm này
}

Thí sinh không được viết hàm main, không được nhập/xuất dữ liệu. Tệp judgement.h sẽ tự động gọi hàm của thí sinh với dữ liệu phù hợp và quản lý việc nhập xuất.

Input

Output

Sample Input 1

6
1 2 2 4 2 6

Sample Output 1

password: 12438469491993278010
2 1 4 2 6 2 8 4 10 2 12 6

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.