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

Re:错在哪里呢?总是wrong answer.哪位好心指点?

Posted by 00448017 at 2005-03-02 17:59:49 on Problem 1657
In Reply To:错在哪里呢?总是wrong answer.哪位好心指点? Posted by:BABYBLUE at 2005-02-28 21:29:08
abs可以直接取整数的绝对值,不用fabs.
其他看划线部分


> #include<iostream.h>
> #include<math.h>
> void wang(char a,char b,char c,char d){
> 	int g;
> 	int i=a-c;
> 	int j=b-d;
> 	
> 	if((int)fabs(i)>(int)fabs(j))
> 	   g=(int)fabs(i);
> 	
> 	else
>       g=(int)fabs(j);
> 
> 	cout<<g<<" ";
> }
> void hou(char a,char b,char c,char d){
>     int i=a-c;
> 	int j=b-d;
>     int k=(int)fabs(i)-(int)fabs(j);
> 	if(k==0||i==0||j==0)
> 		cout<<"1 ";
> 	else 
> 		cout<<"2 ";
> }
> void che(char a,char b,char c,char d){
>     int i=a-c;
> 	int j=b-d;
>     if(i==0||j==0)
> 		cout<<"1 ";
> 	else
> 		cout<<"2 ";
> }
> void xiang(char a,char b,char c,char d){
>     int i=a-c;
> 	int j=b-d;

> 	if((i%2)!=(j%2))
             ~~~~~~~~~~~~如i为负数的话,余数也是负的。所以i,j要先取绝对值

> 		cout<<"Inf\n";
> 	else if((int)fabs(i)==(int)fabs(j))
> 		cout<<"1\n";
> 	else
> 		cout<<"2\n";
> }
> void play(){
>     char start[2];
> 	char end[2];
> 	char a,b,c,d;
> 	cin>>start;
>     cin>>end;
> 	a=start[0];
> 	b=start[1];
> 	c=end[0];
> 	d=end[1];

> 	if(a>'g'||a<'a'||c>'g'||c<'a'||b>8||b<1||d>8||d<1)
> 		return;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~这里b='1'而不是b=1,因为cin的是char型的,要用b-='0'转化一下,另外这题只关心b、d的差,不用转化的(ps.其实不用判断输入是否合理,测试数据都是合题意的);

> 	if(a==c&&b==d){
> 	cout<<"0 0 0 0\n";
> 	return;
> 	}
> 	wang(a,b,c,d);
>     hou(a,b,c,d);
>     che(a,b,c,d);
>     xiang(a,b,c,d);
> }
> void main(){
> 	int num,p=1;
>     
>     cin>>num;

> 	if(num<0||num>20)
> 		return;
~~~~~~~~~~~~~~~~~~~~~~~~~此处也可删去

> 	while(p<=num)
> 	{  play();
> 	   p++;}
> }

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