#include <stdio.h>
int main(void) {
// your code goes here
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglyZXR1cm4gMDsKfQo=
I2luY2x1ZGUgJmx0O3N0ZGlvLmgmZ3Q7CiNpbmNsdWRlICZsdDt1bmlzdGQuaCZndDsKCmludCBtYWluKCkgewogICAgaW50IHAxLCBwMjsKICAgIAogICAgLy8g56ys5LiA5qyhZm9ya+WIm+W7uuWtkOi/m+eoizEKICAgIHAxID0gZm9yaygpOwogICAgaWYgKHAxICZsdDsgMCkgewogICAgICAgIHBlcnJvcigmcXVvdDtGaXJzdCBmb3JrIGZhaWxlZCZxdW90Oyk7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CiAgICAKICAgIGlmIChwMSA9PSAwKSB7CiAgICAgICAgLy8g5a2Q6L+b56iLMe+8mui+k+WHumIKICAgICAgICBwdXRjaGFyKCdiJyk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIOeItui/m+eoi++8muesrOS6jOasoWZvcmvliJvlu7rlrZDov5vnqIsyCiAgICAgICAgcDIgPSBmb3JrKCk7CiAgICAgICAgaWYgKHAyICZsdDsgMCkgewogICAgICAgICAgICBwZXJyb3IoJnF1b3Q7U2Vjb25kIGZvcmsgZmFpbGVkJnF1b3Q7KTsKICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmIChwMiA9PSAwKSB7CiAgICAgICAgICAgIC8vIOWtkOi/m+eoizLvvJrovpPlh7pjCiAgICAgICAgICAgIHB1dGNoYXIoJ2MnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyDniLbov5vnqIvvvJrovpPlh7phCiAgICAgICAgICAgIHB1dGNoYXIoJ2EnKTsKICAgICAgICB9CiAgICB9CiAgICAKICAgIHJldHVybiAwOwp9Cg==
#include <stdio.h>
#include <unistd.h>
int main() {
int p1, p2;
// 第一次fork创建子进程1
p1 = fork();
if (p1 < 0) {
perror("First fork failed");
return 1;
}
if (p1 == 0) {
// 子进程1:输出b
putchar('b');
} else {
// 父进程:第二次fork创建子进程2
p2 = fork();
if (p2 < 0) {
perror("Second fork failed");
return 1;
}
if (p2 == 0) {
// 子进程2:输出c
putchar('c');
} else {
// 父进程:输出a
putchar('a');
}
}
return 0;
}