#include <stdio.h>
#include <stdlib.h>
// โครงสร้าง node สำหรับลิงก์ลิสต์
struct datanode {
int data;
};
// โครงสร้าง head node
struct headnode {
struct datanode *head;
};
// เพิ่ม node ที่ท้ายลิสต์
void append
(struct headnode
*list, int value
) { struct datanode
*newNode
= (struct datanode
*)malloc
(sizeof(struct datanode
)); newNode->data = value;
if (list->head == NULL) {
list->head = newNode;
} else {
struct datanode *temp = list->head;
while (temp
->link != NULL) { }
}
}
// แสดงผลลิงก์ลิสต์
void display
(struct headnode
*list) { struct datanode *temp = list->head;
while (temp != NULL) {
}
}
// แก้ไขค่าลิสต์ตามที่โจทย์ต้องการ
void modifyList
(struct headnode
*list) { if (list
->count < 12) return;
struct datanode *temp = list->head;
// ไปยังตำแหน่ง index 4 (ตำแหน่งที่ 5)
for (int i = 0; i < 4 && temp != NULL; i++) {
}
// เปลี่ยนค่าตำแหน่ง 5 และ 6 เป็น 7 และ 3
if (temp != NULL) temp->data = 7;
if (temp
->link != NULL) temp
->link->data = 3;
// ลบ node สุดท้าย (เลข 7 ด้านหลัง)
struct datanode
*prev = NULL; temp = list->head;
while (temp
->link != NULL) { }
free(temp);
list->count--;
}
}
int main() {
long long number = 672432060297LL;
int digits[12];
// แยกตัวเลขแต่ละหลักใส่ใน array
for (int i = 11; i >= 0; i--) {
digits[i] = number % 10;
number /= 10;
}
// สร้าง linked list
struct headnode
*List = (struct headnode
*)malloc
(sizeof(struct headnode
)); List->head = NULL;
for (int i = 0; i < 12; i++) {
}
// แก้ไขค่าตามที่กำหนด
// แสดงผลลัพธ์
// ล้างหน่วยความจำ
struct datanode
*current = List
->head; }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCi8vIOC5guC4hOC4o+C4h+C4quC4o+C5ieC4suC4hyBub2RlIOC4quC4s+C4q+C4o+C4seC4muC4peC4tOC4h+C4geC5jOC4peC4tOC4quC4leC5jApzdHJ1Y3QgZGF0YW5vZGUgewogICAgaW50IGRhdGE7CiAgICBzdHJ1Y3QgZGF0YW5vZGUgKmxpbms7Cn07CgovLyDguYLguITguKPguIfguKrguKPguYnguLLguIcgaGVhZCBub2RlCnN0cnVjdCBoZWFkbm9kZSB7CiAgICBpbnQgY291bnQ7CiAgICBzdHJ1Y3QgZGF0YW5vZGUgKmhlYWQ7Cn07CgovLyDguYDguJ7guLTguYjguKEgbm9kZSDguJfguLXguYjguJfguYnguLLguKLguKXguLTguKrguJXguYwKdm9pZCBhcHBlbmQoc3RydWN0IGhlYWRub2RlICpsaXN0LCBpbnQgdmFsdWUpIHsKICAgIHN0cnVjdCBkYXRhbm9kZSAqbmV3Tm9kZSA9IChzdHJ1Y3QgZGF0YW5vZGUqKW1hbGxvYyhzaXplb2Yoc3RydWN0IGRhdGFub2RlKSk7CiAgICBuZXdOb2RlLT5kYXRhID0gdmFsdWU7CiAgICBuZXdOb2RlLT5saW5rID0gTlVMTDsKCiAgICBpZiAobGlzdC0+aGVhZCA9PSBOVUxMKSB7CiAgICAgICAgbGlzdC0+aGVhZCA9IG5ld05vZGU7CiAgICB9IGVsc2UgewogICAgICAgIHN0cnVjdCBkYXRhbm9kZSAqdGVtcCA9IGxpc3QtPmhlYWQ7CiAgICAgICAgd2hpbGUgKHRlbXAtPmxpbmsgIT0gTlVMTCkgewogICAgICAgICAgICB0ZW1wID0gdGVtcC0+bGluazsKICAgICAgICB9CiAgICAgICAgdGVtcC0+bGluayA9IG5ld05vZGU7CiAgICB9CiAgICBsaXN0LT5jb3VudCsrOwp9CgovLyDguYHguKrguJTguIfguJzguKXguKXguLTguIfguIHguYzguKXguLTguKrguJXguYwKdm9pZCBkaXNwbGF5KHN0cnVjdCBoZWFkbm9kZSAqbGlzdCkgewogICAgc3RydWN0IGRhdGFub2RlICp0ZW1wID0gbGlzdC0+aGVhZDsKICAgIHByaW50ZigiTGlua2VkIExpc3Q6ICIpOwogICAgd2hpbGUgKHRlbXAgIT0gTlVMTCkgewogICAgICAgIHByaW50ZigiJWQiLCB0ZW1wLT5kYXRhKTsKICAgICAgICBpZiAodGVtcC0+bGluayAhPSBOVUxMKSBwcmludGYoIiAtPiAiKTsKICAgICAgICB0ZW1wID0gdGVtcC0+bGluazsKICAgIH0KICAgIHByaW50ZigiXG5Ub3RhbCBub2RlczogJWRcbiIsIGxpc3QtPmNvdW50KTsKfQoKLy8g4LmB4LiB4LmJ4LmE4LiC4LiE4LmI4Liy4Lil4Li04Liq4LiV4LmM4LiV4Liy4Lih4LiX4Li14LmI4LmC4LiI4LiX4Lii4LmM4LiV4LmJ4Lit4LiH4LiB4Liy4LijCnZvaWQgbW9kaWZ5TGlzdChzdHJ1Y3QgaGVhZG5vZGUgKmxpc3QpIHsKICAgIGlmIChsaXN0LT5jb3VudCA8IDEyKSByZXR1cm47CgogICAgc3RydWN0IGRhdGFub2RlICp0ZW1wID0gbGlzdC0+aGVhZDsKCiAgICAvLyDguYTguJvguKLguLHguIfguJXguLPguYHguKvguJnguYjguIcgaW5kZXggNCAo4LiV4Liz4LmB4Lir4LiZ4LmI4LiH4LiX4Li14LmIIDUpCiAgICBmb3IgKGludCBpID0gMDsgaSA8IDQgJiYgdGVtcCAhPSBOVUxMOyBpKyspIHsKICAgICAgICB0ZW1wID0gdGVtcC0+bGluazsKICAgIH0KCiAgICAvLyDguYDguJvguKXguLXguYjguKLguJnguITguYjguLLguJXguLPguYHguKvguJnguYjguIcgNSDguYHguKXguLAgNiDguYDguJvguYfguJkgNyDguYHguKXguLAgMwogICAgaWYgKHRlbXAgIT0gTlVMTCkgdGVtcC0+ZGF0YSA9IDc7CiAgICBpZiAodGVtcC0+bGluayAhPSBOVUxMKSB0ZW1wLT5saW5rLT5kYXRhID0gMzsKCiAgICAvLyDguKXguJogbm9kZSDguKrguLjguJTguJfguYnguLLguKIgKOC5gOC4peC4giA3IOC4lOC5ieC4suC4meC4q+C4peC4seC4hykKICAgIHN0cnVjdCBkYXRhbm9kZSAqcHJldiA9IE5VTEw7CiAgICB0ZW1wID0gbGlzdC0+aGVhZDsKICAgIHdoaWxlICh0ZW1wLT5saW5rICE9IE5VTEwpIHsKICAgICAgICBwcmV2ID0gdGVtcDsKICAgICAgICB0ZW1wID0gdGVtcC0+bGluazsKICAgIH0KICAgIGlmIChwcmV2ICE9IE5VTEwpIHsKICAgICAgICBwcmV2LT5saW5rID0gTlVMTDsKICAgICAgICBmcmVlKHRlbXApOwogICAgICAgIGxpc3QtPmNvdW50LS07CiAgICB9Cn0KCmludCBtYWluKCkgewogICAgbG9uZyBsb25nIG51bWJlciA9IDY3MjQzMjA2MDI5N0xMOwogICAgaW50IGRpZ2l0c1sxMl07CgogICAgLy8g4LmB4Lii4LiB4LiV4Lix4Lin4LmA4Lil4LiC4LmB4LiV4LmI4Lil4Liw4Lir4Lil4Lix4LiB4LmD4Liq4LmI4LmD4LiZIGFycmF5CiAgICBmb3IgKGludCBpID0gMTE7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgZGlnaXRzW2ldID0gbnVtYmVyICUgMTA7CiAgICAgICAgbnVtYmVyIC89IDEwOwogICAgfQoKICAgIC8vIOC4quC4o+C5ieC4suC4hyBsaW5rZWQgbGlzdAogICAgc3RydWN0IGhlYWRub2RlICpMaXN0ID0gKHN0cnVjdCBoZWFkbm9kZSopbWFsbG9jKHNpemVvZihzdHJ1Y3QgaGVhZG5vZGUpKTsKICAgIExpc3QtPmNvdW50ID0gMDsKICAgIExpc3QtPmhlYWQgPSBOVUxMOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTI7IGkrKykgewogICAgICAgIGFwcGVuZChMaXN0LCBkaWdpdHNbaV0pOwogICAgfQoKICAgIC8vIOC5geC4geC5ieC5hOC4guC4hOC5iOC4suC4leC4suC4oeC4l+C4teC5iOC4geC4s+C4q+C4meC4lAogICAgbW9kaWZ5TGlzdChMaXN0KTsKCiAgICAvLyDguYHguKrguJTguIfguJzguKXguKXguLHguJ7guJjguYwKICAgIGRpc3BsYXkoTGlzdCk7CgogICAgLy8g4Lil4LmJ4Liy4LiH4Lir4LiZ4LmI4Lin4Lii4LiE4Lin4Liy4Lih4LiI4LizCiAgICBzdHJ1Y3QgZGF0YW5vZGUgKmN1cnJlbnQgPSBMaXN0LT5oZWFkOwogICAgd2hpbGUgKGN1cnJlbnQgIT0gTlVMTCkgewogICAgICAgIHN0cnVjdCBkYXRhbm9kZSAqbmV4dCA9IGN1cnJlbnQtPmxpbms7CiAgICAgICAgZnJlZShjdXJyZW50KTsKICAgICAgICBjdXJyZW50ID0gbmV4dDsKICAgIH0KICAgIGZyZWUoTGlzdCk7CgogICAgcmV0dXJuIDA7Cn0K