Menu
CoddyTech

Luyện tập #4

Bài học 12 trên 12 trong khóa học Hàng đợi, chuỗi cấu trúc dữ liệu #2 của Coddy.

Các thử thách tiếp theo được thiết kế để sử dụng hàng đợi. Cấu trúc dữ liệu Queue đã có sẵn, bạn hãy sử dụng nhé!

challenge icon

Thử thách

Dễ

Viết một hàm có tên hotPotato nhận một danh sách tên và số lần chuyền, rồi mô phỏng trò chơi chuyền khoai tây nóng: chuyền củ khoai tosses lần (mỗi lần chuyền sẽ đưa người ở đầu hàng xuống cuối hàng), sau đó loại người đang ở đầu hàng. Lặp lại cho đến khi còn một người, rồi trả về tên người đó.

Hãy dùng Queue được cung cấp để giải bài toán này!

Tự làm thử

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "solution.h"

int main() {
    char line[4096];
    char** names = (char**)malloc(sizeof(char*) * 1000);
    int n = 0;
    if (fgets(line, sizeof(line), stdin)) {
        char* tok = strtok(line, " \t\r\n");
        while (tok) { names[n++] = strdup(tok); tok = strtok(NULL, " \t\r\n"); }
    }
    int tosses = 0;
    scanf("%d", &tosses);
    printf("%s\n", hotPotato(names, n, tosses));
    return 0;
}

Tất cả bài học trong Hàng đợi, chuỗi cấu trúc dữ liệu #2

Tự luyện tập: Trình biên dịch C online