2018百度の星の初試合Bラウンドrect

1600 ワード

rect
 
 Accepts: 1654
 
 Submissions: 2948
 Time Limit: 2000/1000 MS (Java/Others)
 
 Memory Limit: 131072/131072 K (Java/Others)
Problem Description
度度度熊の大きさは MX\times MYMX×MY の長方形で、左下の座標は (0,0)(0,0)、右上隅座標は (MX, MY)(MX,MY).この長方形には NN 個の整数座標の点 (x_i, y_i)(x​i​​,y​i​​),x_ix​i​​ お互いに繰り返さない、y_iy​i​​ お互いに繰り返さない.
各点から線分を描き、次の条件を満たします.
  • 線分の始点は座標点であり、終点は矩形範囲の4つの境界の1つにある.
  • セグメントは互いに交差できません.

  • 描画した線分の長さの合計を最小にするには、この最小の長さの合計値を出力します.
    Input
    入力された最初の行には正の整数があります. TT、代表は次のいくつかのテスト資料を持っています.
    各テスト資料について:最初の行には3つの整数があります. MXMX, MYMY および NN. 次の NN 行ごとに正の整数が2つあります x_ix​i​​ および y_iy​i​​.
  • 2\le MX, MY\le 10^62≤MX,MY≤10​6​​
  • 0\le N\le 10^50≤N≤10​5​​
  •  イe ji≠j,则保证 x_i e x_jx​i​​≠x​j​​ および y_i e y_jy​i​​≠y​j​​
  • 0 < x_i < MX0
  • 0 < y_i < MY0
  • 1\le T\le 201≤T≤20
  • から最大 22 ペンテスト資料の N > 1000N>1000

  • Output
    各テスト資料について、可能な最小長と最小長を表す整数を1行ずつ出力します.
    Sample Input
    2
    4 4 1
    2 2
    10 7 3
    6 3
    2 6
    9 5
    

    Sample Output
    2
    5
    #include
    using namespace std;
    typedef long long ll;
    int mx,my;
    int T;
    int n;
    int x[1000005];
    int y[1000005];
    ll ans;
    int main()
    {
        //freopen("in.txt","r",stdin);
        cin>>T;int mi;
        while(T--)
        {
            ans=0;
            scanf("%d%d",&mx,&my);
            scanf("%d",&n);
            for(int i=0;i