Description
Input
Output
SCORE: N to M, PLAYER P WINS.Or:
SCORE: N to M, TIE.N is player one‘s score, and M is player two‘s score. P is either 1 or 2 depending on which player wins. All values are non-negative integers.
Sample Input
-9 0 0 -4.5 -2 2 9 0 0 4.5 2 -2 -19.0 19.0 0 0 0 0 3 3 6 6 12 12 -100 0 0 0 0 0 0 0 0 0 0 0
Sample Output
SCORE: 240 to 240, TIE. SCORE: 200 to 140, PLAYER 1 WINS.
这道题十分简单,但我的代码提交上去总是submit failed,可能是网不太好的原因,总是提交错误!!!我很生气!!!!!
但是我提交别人的代码就可以提交成功,应该是代码本身的缺陷吧,以下是我的代码
#include <iostream> using namespace std; int f(double x,double y) { double j=x*x+y*y; if(j<=9)return 100; else if(j<=36)return 80; else if(j<=81)return 60; else if(j<=144)return 0; else if(j<=225)return 20; else return 0; } int main() { int i,x,y; while(1){ double a[15]; for(i=0;i<12;i++)cin>>a[i]; if(a[0]==-100)break; x=0; y=0; for(i=0;i<5;i+=2)x+=f(a[i],a[i+1]); for(i=6;i<11;i+=2)y+=f(a[i],a[i+1]); cout<<"SCORE: "<<x<<" to "<<y<<", "; if(x==y)cout<<"TIE."<<endl; if(x>y)cout<<"PLAYER 1 WINS."<<endl; if(x<y)cout<<"PLAYER 2 WINS."<<endl; } //system("pause"); return 0; }
下面是提交成功的别人的代码
#include <iostream> using namespace std; int f(double x,double y) { double j=x*x+y*y; if(j<=9)return 100; else if(j<=36)return 80; else if(j<=81)return 60; else if(j<=144)return 40; else if(j<=225)return 20; else return 0; } int main() { int x,y; double a,b; while(cin>>a){ if(a==-100)break; x=0; y=0; cin>>b; x+=f(a,b); for(int i=0;i<2;i++){ cin>>a>>b; x+=f(a,b); } for(int i=0;i<3;i++){ cin>>a>>b; y+=f(a,b); } cout<<"SCORE: "<<x<<" to "<<y<<", "; if(x==y)cout<<"TIE."<<endl; if(x>y)cout<<"PLAYER 1 WINS."<<endl; if(x<y)cout<<"PLAYER 2 WINS."<<endl; } //system("pause"); return 0; }
也许是思路的大不同,我的代码没有真正的按照计算机的思路来,所以hdu无法接受我的代码,愁死了!!!!
原文:http://www.cnblogs.com/farewell-farewell/p/5171003.html