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

## Re:工作了，发现代码简单才是最重要的，贴个短的

Posted by haitao1 at 2012-03-08 12:30:13 on Problem 1066
In Reply To:工作了，发现代码简单才是最重要的，贴个短的 Posted by:sbtdkj1017 at 2010-10-08 15:36:10
```> #include<iostream>
> #include<cstdlib>
> using namespace std;
> int geti(int x,int y)
> {
> 	if(y==0)return x-1;
> 	if(x==100)return 99+y;
> 	if(y==100)return 299-x;
> 	return 399-y;
> }
> int main()
> {
> 	int i=0,n,x0[30],y0[30],x1[30],y1[30],from,to,s[400]={};
> 	double x,y,k;
> 	for(cin>>n;i<n;i++)cin>>x0[i]>>y0[i]>>x1[i]>>y1[i];
> 	cin>>x>>y;
> 	for(i=0;i<n;i++)
> 	{
> 		k=(y0[i]-y1[i])/(x0[i]+1e-6-x1[i]);
> 		from=geti(x0[i],y0[i]);
> 		to=geti(x1[i],y1[i]);
> 		if((y-y1[i]>k*(x-x1[i]))-(x0[i]<x1[i]))swap(from,to);
> 		for(;from!=to;to=(to+399)%400)s[to]++;
> 	}
> 	for(i=0;i<400;i++)
> 		if(s[i]<n)n=s[i];
> 	cout<<"Number of doors = "<<n+1<<endl;
> 	return 0;
> }
```

Followed by: