1 条题解
-
0
C :
#include<stdio.h> #include<math.h> int p(float x,float y,float r,float a,float b) { // if(r==0) // return 0; if((x-a)*(x-a)+(y-b)*(y-b)<=r*r) return 1; else return 0; } int main() { float s[110][3],a,b; int i,j,flag,n; while(scanf("%d",&n),n) { flag=0; for(i=0;i<n;i++) scanf("%f%f%f",&s[i][0],&s[i][1],&s[i][2]); scanf("%f%f",&a,&b); for(i=0;i<n;i++) if(p(s[i][0],s[i][1],s[i][2],a,b)) { puts("YES"); flag=1; break; } if(flag==0) puts("NO"); } }
C++ :
#include <stdio.h> int main() { int n, i; double x[100], y[100], r[100], a, b; while (scanf("%d", &n) != EOF, n) { for (i = 0; i < n; i++) scanf("%lf%lf%lf", &x[i], &y[i], &r[i]); scanf("%lf%lf", &a, &b); for (i = 0; i < n; i++) { if ((a - x[i]) * (a - x[i]) + (b - y[i]) * (b - y[i]) <= r[i] * r[i]) break; } puts(i < n ? "YES" : "NO"); } return 0; }
Java :
import java.util.Scanner; public class Main { private static Scanner s = new Scanner(System.in) ; public static void main(String[] args) { while(true){ int n = s.nextInt() ; if(n==0){ break ; } A a[] = new A[n] ; for (int i = 0; i < n; i++) { double x = s.nextDouble() ; double y = s.nextDouble() ; double r = s.nextDouble() ; a[i] = new A(x, y, r) ; } double x1 = s.nextDouble() ; double y1 = s.nextDouble() ; int sum = 0 ; for (int i = 0; i < a.length; i++) { if((a[i].x-x1)*(a[i].x-x1)+(a[i].y-y1)*(a[i].y-y1)<=a[i].r*a[i].r){ sum++ ; } } if(sum>0){ System.out.println("YES") ; }else { System.out.println("NO") ; } } } } class A{ double x ; double y ; double r ; public A(double x, double y, double r) { this.x = x; this.y = y; this.r = r; } }
- 1
信息
- ID
- 1957
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者