| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:What-Wash your mouth then ask!In Reply To:What's the fucking Presentation Error?! Posted by:xiaomi at 2003-06-24 17:01:28 > #include <iostream.h>
>
> int n,i,j,k,l,rest=0;
> char (*bowler);
> int pin[30];
> char record [15] [3];
> int score[15] ;
> bool stop,spare=false;
>
> int records;
> int scores;
>
> char rec(int a)
> {
> if ((a==0)&&(spare==false))
> {
> return 88;
> }
> else if ((a==0)&&(spare==true))
> {
> spare=false;
> return 47;
> }
> else if ((a!=0)&&(spare==false))
> {
> spare=true;
> rest=a;
> if (a!=10)
> return 58-a;
> else
> return 45;
> }
> else
> {
> spare=false;
> if (a!=rest)
> return 48+rest-a;
> else
> return 45;
> }
> }
> int sco(int a,int b,int c)
> {
> if (a==0)
> {
> if (c!=-1)
> return b==0?30-c:20-c;
> else
> {
> stop=true;
> return 0;
> }
> }
> else if (b==0)
> {
> if (c!=-1)
> {
> i++;
> return 20-c;
> }
> else
> {
> stop=true;
> return 0;
> }
> }
> else
> {
> if (b!=-1)
> {
> i++;
> return 10-b;
> }
> else
> {
> stop=true;
> return 0;
> }
> }
> }
> int main()
> {
> bowler=new char [12];
> for (i=0;i<12;i++)
> bowler[i]=32;
> for (i=0;i<15;i++)
> for (j=0;j<3;j++)
> record[i][j]=32;
> for (i=0;i<30;i++)
> pin[i]=-1;
> j=0;
>
> while(cin>>bowler)
> {
> do
> {
> cin>>pin[j];
> j++;
> }
> while (pin[j-1]!=-1);//input
>
>
> i=0;
> do
> {
> if (spare==false)
> record[k][0]=rec(pin[i]);
> else
> record[k][1]=rec(pin[i]);
> if (pin[i]==0)
> k++;
> else if (spare==false)
> k++;
> i++;
> }
> while (pin[i]!=-1);
> if ((record[10][0]!=32)&&(record[9][1]==32))
> {
> record[9][1]=record[10][0];
> if ((record[10][1]!=32)||((record[9][0]==88)&&(record[9][1]==88)&&(record[11][0]==32)))
> k--;
> record[10][0]=32;
> }
> else if (record[10][0]!=32)
> {
> record[9][2]=record[10][0];
> if (record[10][0]==88)
> k--;
> record[10][0]=32;
> }
> if (record[10][1]!=32)
> record[9][2]=record[10][1];
> record[10][1]=32;
> if (record[11][0]!=32)
> {
> record[9][2]=record[11][0];
> k--;
> record[11][0]=32;
> }
> if ((record[9][0]==88)&&(record[9][1]==88)&&(record[9][2]==88))
> k--;
> //record
> if ((record[k][0]>=49&&record[k][0]<=57)||(record[k][0]==45))
> k++;
> if (record[k-1][0]==32)
> k--;
> i=0;
> score[0]=0;
> do
> {
> score[l]+=sco(pin[i],pin[i+1],pin[i+2]);
> score[l+1]=score[l];
> if (stop==true)
> break;
> l++;
> i++;
> }
> while ((pin[i]!=-1)&&(l<10));//score
> records=k;
> scores=l;
>
> for (i=0;i<12;i++)
> cout<<bowler[i];
> for (i=0;i<records;i++)
> cout<<" "<<record[i][0]<<record[i][1]<<record[i][2];
> cout<<endl<<" ";
> for (i=0;i<scores;i++)
> {
> if (score[i]<10)
> cout<<" "<<score[i];
> else if (score[i]<100)
> cout<<" "<<score[i];
> else
> cout<<" "<<score[i];
> }
> cout<<endl<<endl;
> n++;
> for (i=0;i<12;i++)
> bowler[i]=32;
> for (i=0;i<15;i++)
> for (j=0;j<3;j++)
> record[i][j]=32;
> for (i=0;i<30;i++)
> pin[i]=-1;
> i=j=k=l=rest=0;
> stop=spare=false;
> }
>
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator