Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int main()
- {
- long int n,i,j,q,sum=0,l,x1,y1;
- scanf("%ld",&n);
- double X[n],Y[n],M[n],N[n],k[n],V[n];
- for(i=0; i<n; ++i)
- {
- scanf("%lf%lf%lf%lf",&X[i],&Y[i],&M[i],&N[i]);
- if (Y[i]!=N[i] && X[i]!=M[i])
- {
- k[i]=(N[i]-Y[i])/(M[i]-X[i]);
- V[i]=(N[i]*X[i]-Y[i]*M[i])/(X[i]-M[i]);
- }
- }
- scanf("%ld",&q);
- double A[q],B[q],R[q],Q[q];
- for(i=0; i<q; ++i)
- {
- scanf("%lf%lf%lf",&A[i],&B[i],&R[i]);
- }
- for (i=0; i<q; ++i)
- {
- for (j=0; j<n; ++j)
- {
- if (X[j]==M[j] && X[j]<R[i]+A[i] && X[j]>A[i]-R[i])
- {
- sum++;
- }
- else if (Y[j]==N[j] && Y[j]<R[i]+B[i] && Y[j]>B[i]-R[i])
- {
- sum++;
- }
- else if (X[j]!=M[j] && Y[j]!=N[j])
- {
- if (R[i]*R[i]*(k[j]*k[j]+1)-(k[j]*A[i]-B[i]+V[j])*(k[j]*A[i]-B[i]+V[j])>=0) // formula za proveru pripadnosti prave kruznici
- {
- sum++;
- }
- }
- }
- printf("%ld\n",sum);
- sum=0;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement