Output 0 when no path possible.
This commit is contained in:
@@ -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", ¤t_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");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user