Output 0 when no path possible.

This commit is contained in:
unlockable
2023-11-05 11:03:05 +08:00
parent 32bd7e91fd
commit 2642acd00a

View File

@@ -72,13 +72,13 @@ SearchResult find_node(int target, int start_num, int next_dead_node_num_ptr,
if (target <= spawned_node_max_num) {
ans[0] = target;
int natural_pos = -1, num = start_num -1;
int natural_pos = -1, num = start_num - 1;
for (int i = 0; i < current_line_len; i++) {
if (current_line_node[i].status == DEAD) {
natural_pos += current_line_node[i].length;
num += (current_line_node[i].length == 1);
if (num == target) {
return SearchResult {1, natural_pos / 2};
return SearchResult{1, natural_pos / 2};
}
continue;
}
@@ -138,11 +138,16 @@ int main() {
for (int i = 0; i < total_target_nodes; i++) {
scanf("%d", &current_target);
SearchResult result = find_node(current_target, 2, 0, &firstline, 1, 2);
printf("1 ");
for (int j = result.next_ans_pos - 1; j >= 0; j--) {
printf("%d ", ans[j]);
if (result.count_in_father_line == -1) {
printf("0\n");
}
else {
printf("1 ");
for (int j = result.next_ans_pos - 1; j >= 0; j--) {
printf("%d ", ans[j]);
}
printf("\n");
}
printf("\n");
}
}