1 条题解

  • 0
    @ 2026-10-23 18:39:51
    #include <bits/stdc++.h>
    using namespace std;
    
    long long to (double x)
    {
        return round (x * 1000.0);
    }
    int main()
    {
    	int num = 0;
        double a1,b1,a2,b2,x,y;
        int n;
        cin >> a1 >> b1 >> a2 >> b2;
        cin >> n;
        a1 = to(a1);
        b1 = to(b1);
        a2 = to(a2);
        b2 = to(b2);
    
        while (n--)
        {
        	
        	bool xian = 0;
    		bool mian = 0;
            cin >> x >> y;
            x = to(x),y = to(y);
            
            if (x >= min(a1,a2)&&y >= min(b1,b2)&& x <= max(a1,a2)&&y <= max(b1,b2)) mian = 1;
            
            if ( (b2-b1) * (x-a1)== (a2-a1) * (y-b1) )xian = 1;
            
            if (xian == 1 && mian == 1)
            {
            	num ++;
    		}
        }
        	cout << num << "\n";
    }
    
    • 1

    信息

    ID
    1696
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    提交数
    141
    已通过
    15
    上传者