**Input:** A trapezoid graph with a trapezoid diagram and coverage radius . |

**Output:** A conditional covering set in . |

Initially and . |

**Step **** :** Compute the sets , and for each vertex . |

**Step **** :** Construct the caterpillar. Compute the vertices of the spine and the sets for |

; where is the highest length of the caterpillar. |

**Step **** :** Compute . |

If , and for all then |

such that is maximum, replace by , , goto Step 4; |

elseif or for all then |

, replace by , , goto Step 5; |

else , replace by , , goto Step 5; |

endif |

**Step **** :** If then |

such that and finish; |

elseif then |

and finish; |

else go to step 6; |

endif; |

**Step **** :** If then |

such that and finish;// is the latest selected member |

* * of // |

elseif then and finish; |

else go to step 6; |

endif; |

**Step **** :** If , and for all then |

such that is maximum, replace by , , goto Step 7; |

elseif or for all then |

, replace by , , goto Step 7; |

else , replace by , , goto Step 7; |

endif; |

**Step **** :** If then |

is the required solution; |

elseif then |

If or for all then |

is the required solution; |

else and finish; |

endif; |

else go to Step 8; |

endif; |

**Step **** :** If , and for all and then |

and finish; |

elseif then |

and stop; |

elseif and or for all then |

and stop; |

else goto next Step; |

endif; |

**Step **** :** If , for all then |

* *replace by and goto Step 3; |

else replace by and goto Step 3; |

endif; |