No es muy claro si el problema es sobre los discos o círculos de unos. Aquí están algunas sugerencias para ambos casos.
Si se trata de discos, entonces usted puede utilizar Helly del teorema. Se dice que el $n \geq 3$ discos en un plano se cruzan si y sólo si todos los $3$ discos entre ellos se cruzan. Y para $3$ discos creo que debe ser bastante fáciles de producir una solución exacta (es decir, uno que es 100% precisa si todos los centros y los radios son dados como números racionales).
Este no es el enfoque más rápido, pero creo que puede ser implementado precisamente sin ningún tipo de complicaciones graves, y sin el uso de operaciones de punto flotante.
Si el problema es sobre los círculos y no sobre los discos, entonces usted también puede hacer que la solución exacta, pero usted tendrá que manipular los elementos de algunos cuadrática extensión de $\mathbb{Q}$, es decir, usted tendrá que hacer manipulaciones simbólicas con expresiones como $a + b\sqrt{c}$.
ACTUALIZACIÓN: ya que estamos hablando de código, debo añadir que este bit: todo depende de las circunstancias exactas y de la calidad exacta/los requerimientos de velocidad.
a) Si se trata de un concurso de programación, entonces yo no lo uso del teorema de Helly. En su lugar, me gustaría hacer algo como lo siguiente, que lleva tiempo $O(n^2 \ln n)$.
Si todos los discos tienen un punto en común, entonces ellos también tienen un punto en común que se encuentra en el borde de uno de los discos. Así, por cada disco $D$, me gustaría comprobar si existe o no un punto en su borde (que es un círculo de $S$) que pertenece a todos los otros discos.
Para hacer eso, me gustaría encontrar las intersecciones de esta frontera $S$ con cada disco. Cada intersección es un arco de $S$, un punto en $S$, un conjunto vacío, o la totalidad de la $S$. Y luego me iba a determinar si o no estos arcos tienen un punto en común, que se puede hacer en el tiempo $O(n \ln n)$ por la clasificación de los extremos de los arcos (decir) de las agujas del reloj. Yo lo haría todo el uso de la aritmética de punto flotante con un adecuado valor de epsilon. De hecho, esto es lo que hice un par de veces en la realidad de los concursos de vuelta en el día.
b) Si el código debe ser industrial y absolutamente precisa, entonces debería ser posible (en principio) a hacer lo mismo que el anterior, pero en lugar de aritmética de punto flotante hacer aritmética precisa de un adecuado campo finito extensión de $\mathbb{Q}$. Pero nunca he tratado de aplicar esto a mí mismo. Podría ser un poco difícil.
c) Si el tiempo de ejecución no es tan importante, pero usted todavía necesita precisión absoluta, a continuación, me gustaría ir con Helly del teorema. Se podría simplificar el código así lo que es mucho más robusto, pero el tiempo de ejecución crecerá a $n^3$.