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

why? 这题的测试数据是不是 有很多特例?

Posted by zhjh008 at 2004-07-31 17:24:20 on Problem 1728
怎么给的数据都可以正常输出,就是不让Accept.  那位高手给看看俺的代码,多谢!!
#include <iostream>
using namespace std;
void calc(int,int);
int s,dx,dy;
int loop;
int ix,iy;
int qx,qy;

void main()
{
	
	cin>>s>>qx>>qy>>dx>>dy;
	while(s!=0||qx!=0||qy!=0||dx!=0||dy!=0)
	{
		loop=0;
		int xx=qx,yy=qy;
		while(xx>=s&&yy>=s)
		{
			xx-=s;
			yy-=s;
		}
		if(xx<s)
			while(yy>=2*s)
				yy-=2*s;
		else
			while(xx>=2*s)
				xx-=2*s;
		ix=xx;	iy=yy;

		calc(qx,qy);

		cin>>s>>qx>>qy>>dx>>dy;
	}
}

void calc(int x,int y)
{
	int tx=x,ty=y;

	while(tx>=s&&ty>=s)
	{
		tx-=s;
		ty-=s;
	}
	if(tx<s)
		while(ty>=2*s)
			ty-=2*s;
	else
		while(tx>=2*s)
			tx-=2*s;

	if(tx==ix&&ty==iy&&loop!=0)
	{
		cout<<"The flea cannot escape from black squares."<<endl;
		return;
	}

	loop++;
	if(tx<s)
	{

		if(ty<2*s&&ty>s)
			cout<<"After "<<loop-1<<" jumps the flea lands at ("<<qx+dx*(loop-1)<<", "<<qy+dy*(loop-1)<<")."<<endl;
		else
			calc(x+dx,y+dy);
		return;
	}
	else
	{

		if(tx<2*s&&tx>s)
			cout<<"After "<<loop-1<<" jumps the flea lands at ("<<qx+dx*(loop-1)<<", "<<qy+dy*(loop-1)<<")."<<endl;
		else
			calc(x+dx,y+dy);
		return;
	}
	
}


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