| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:为神马G++就RE, C++却ACIn Reply To:为神马G++就RE, C++却AC Posted by:ivapple at 2010-12-05 17:42:32 > //G++ RE C++ AC
> #include <cstdlib>
> #include <iostream>
> #include <cstdio>
> #include <ctime>
> #include <cmath>
>
> using namespace std;
>
> const int MAX = 10000+100;
>
> int Rand(int p, int r)
> {
> srand((unsigned)time(NULL));
> return p + rand()%(r-p+1);
> }
>
> void Exchange(int &a, int &b)
> {
> int tmp = a;
> a = b;
> b = tmp;
> }
>
> int Partition(int a[], int p, int r)
> {
> int i, j;
> int x = a[r];
> i = p-1;
> for (j=p; j<r; j++)
> {
> if (a[j] <= x)
> {
> i++;
> if (i != j)
> Exchange(a[i], a[j]);
> }
> }
> Exchange(a[i+1], a[r]);
> return i+1;
> }
>
> int RandPartition(int a[], int p, int r)
> {
> int i = Rand(p, r);
> Exchange(a[r], a[i]);
> return Partition(a, p, r);
> }
>
> int RandSelect(int a[], int p, int r, int i)
> {
> if (p == r)
> return a[p];
> int q = RandPartition(a, p, r);
> int k = q-p+1;
> if (i == k)
> return a[q];
> else
> if (i < k)
> return RandSelect(a, p, q-1, i);
> else
> return RandSelect(a, q+1, r, i-k);
> }
>
> void QuickSort(int a[], int p, int r)
> {
> if (p < r)
> {
> int q = RandPartition(a, p, r);
> QuickSort(a, p, q-1);
> QuickSort(a, q+1, r);
> }
> }
>
> int x[MAX], y[MAX], N;
>
> int main(int argc, char *argv[])
> {
> scanf("%d", &N);
> int i, sum=0;
> for (i=0; i<N; i++)
> scanf("%d%d", &x[i], &y[i]);
> QuickSort(x, 0, N-1);
> for (i=0; i<N; i++)
> x[i] = x[i] - i;
>
> int kx = RandSelect(x, 0, N-1, (N+1)/2);
> int ky = RandSelect(y, 0, N-1, (N+1)/2);
>
> for (i=0; i<N; i++)
> sum = sum + abs(y[i]-ky) + abs(x[i]-kx);
> printf("%d\n", sum);
> return EXIT_SUCCESS;
> }
同问,我也遇到这个问题在2388题
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator