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

水题啊水题,PE啊PE,换行注意,贴AC代码

Posted by yzhw at 2010-05-19 20:28:36 on Problem 1140
Source Code

Problem: 1140  User: yzhw 
Memory: 732K  Time: 32MS 
Language: G++  Result: Accepted 

Source Code 
# include <iostream>
# include <set>
# include <queue>
using namespace std;
struct node
{
   int num,pos,res;
};
class cmp
{
public:
   bool operator()(const node &a,const node &b)
   {
      if(a.num!=b.num) return a.num>b.num;
      else return a.res>b.res;
   }
};
int gcd(int a,int b)
{
    while(b)
    {
        int t=a%b;
        a=b;
        b=t;
    }
    return a;
    
}
set<node,cmp> refer;
queue<node> q;
int main()
{
    int a,b;
    while(true)
    {
       cin>>a>>b;
       if(!a&&!b) break;
       refer.clear();
       while(!q.empty())
          q.pop();
       int t=gcd(a,b);
       a/=t;
       b/=t;
       int ori=b;
       cout<<".";
       for(int pos=1;true;pos++)
       {
          if(pos%50==0) cout<<endl;
          a*=10;
          node tmp;
          tmp.num=a%b;
          tmp.pos=pos;
          tmp.res=a/b;
          if(!tmp.num)
          {
             cout<<a/b<<endl<<"This expansion terminates."<<endl;
             break;
          }
          if(refer.find(tmp)==refer.end())
          {
             cout<<a/b;
             a=tmp.num;
             refer.insert(tmp);
             q.push(tmp);
             if(q.size()>ori)
             {
               refer.erase(q.front());
               q.pop();
             }
          }
          else
          {
              if(pos%50!=0) cout<<endl;
              cout<<"The last "<<(pos-refer.find(tmp)->pos)<<" digits repeat forever."<<endl;
              break;
          }
       }
    }
   // system("pause");
    return 0;
}


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