1 solutions

  • 0
    @ 2025-4-17 16:13:04
    #include <bits/stdc++.h>
    using namespace std;
    const int N=110;
    struct node{
    	int x,y;
    }a[N];
    double dis(int ax,int ay,int bx,int by){
    	return sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by));
    }
    double f(int ax,int ay,int bx,int by,int cx,int cy){
    	double a=dis(ax,ay,bx,by);
    	double b=dis(ax,ay,cx,cy);
    	double c=dis(bx,by,cx,cy);
    	double p=(a+b+c)/2;
    	return sqrt(p*(p-a)*(p-b)*(p-c));
    }
    int ans;
    int main(){
    	int n,s;
    	cin>>n>>s;
    	for(int i=1;i<=n;i++) cin>>a[i].x>>a[i].y;
    	for(int i=0+1;i<=n-2;i++){
    		for(int j=i+1;j<=n-1;j++){
    			for(int k=j+1;k<=n-0;k++){
    				double ppp=f(a[i].x,a[i].y,a[j].x,a[j].y,a[k].x,a[k].y);
    				if(ppp-s<=1e-3&&abs(ppp)>1e-3) ans++;
    			}
    		}
    	}
    	cout<<ans<<endl;
    	return 0;
    }
    
    • 1

    Information

    ID
    795
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    9
    Tags
    # Submissions
    303
    Accepted
    21
    Uploaded By