Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

What a fucking enum !

Posted by chushu10 at 2012-07-31 10:04:02
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define MAXN 4010
int a[MAXN], b[MAXN], c[MAXN], d[MAXN], x[MAXN * MAXN], y[MAXN * MAXN];
int n, hstp;
int bsearch(int num)
{
	int left, right, mid, i, sum;
	left = 0;
	right = hstp;
	while(left < right)
	{
		mid = (left + right) >> 1;
		if(num + y[mid] >= 0)
			right = mid;
		else if(num + y[mid] < 0)
			left = mid + 1;
	}
	for(i = left, sum = 0; i < hstp && y[i] + num == 0; i ++, sum ++);
	return sum;
}
int main()
{
	int i, j, ans;
	while(scanf("%d", &n) == 1)
	{
		for(i = 0; i < n; i ++)
			scanf("%d%d%d%d", &a[i], &b[i], &c[i], &d[i]);
		hstp = 0;
		for(i = 0; i < n; i ++)
			for(j = 0; j < n; j ++)
			{
				x[hstp] = a[i] + b[j];
				y[hstp] = c[i] + d[j];
				hstp ++;
			}
			printf("hstp = %d\n", hstp);
		sort(x, x + hstp);
		sort(y, y + hstp);
		for(i = ans = 0; i < hstp; i ++)
			ans += bsearch(x[i]);
		printf("%d\n", ans);
	}
	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator