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 |
帮我看看我的程序,不知道错在哪里In Reply To:伟大的系统又在为难我了……谁有刁钻的数据啊…… Posted by:Blus at 2006-12-11 17:50:27 #include<iostream> using namespace std; const long uplimite=10000; int k=1; int main() { long y[20]; long a[20]; long b[20]; long bd[20];//a与b的差 int i; int n; bool flag=false; while(1) { cin>>n; if(n==0) break; for(i=0;i<n;i++) { cin>>y[i]>>a[i]>>b[i]; bd[i]=b[i]-a[i]; } /*================================================================= 1.先将y[0]=y[1],然后再看y[0]是否=y[2],如果是,则依次重复. 2.如果出现当y[2]>y[0]时也不能使y[2]=y[0], 3.那么y[0]+bd[0],并重新从第1行开始. 4.如果找到那个数为true,并跳出. 5.如果为找到为false,并跳出. */================================================================== if(n!=1) while(1) { if(y[0]>uplimite) break; for(i=1;i<n;) { while(1) { if(y[i]==y[0]) { flag=true; break; } if(y[i]>y[0] || y[i]>uplimite) { flag=false; break; } y[i]+=bd[i]; } if(flag) { i++; continue; } if(y[i]>uplimite) { flag=false; break; } if(!flag) { y[0]+=bd[0]; flag=false; i=0; } if(y[0]>uplimite) break; } if(y[i]>uplimite) { flag=false; break; } if(flag) break; } //============================================================== else flag=true; cout<<"Case #"<<k<<":"<<endl; if(flag) { cout<<"The actual year is "<<y[0]<<"."<<endl<<endl; } else cout<<"Unknown bugs detected."<<endl<<endl; k++; } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator