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:递推足够过了。。。In Reply To:递推足够过了。。。 Posted by:dinysirius at 2009-04-16 23:56:31 > #include <iostream> > using namespace std; > > class P{ > public : > int pos[6]; > int number[14]; > int n; > > P(){}; > > void init(){ > > for(int i = 0 ; i < 6 ; i ++ ){ > > pos[i] = i; > } > } > friend istream & operator >> (istream &in,P &op){ > > for(int i = 0 ; i < op.n ; i ++ ){ > > cin >> op.number[i]; > } > return in; > } > > friend ostream & operator << (ostream &out,P &op){ > > for(int i = 0 ; i < 5 ; i ++ ){ > > out << op.number[op.pos[i]] << " "; > } > out << op.number[op.pos[5]] << endl; > > return out; > } > }; > > void cp(P &p){ > > cout << p; > > while(p.pos[0] != p.n - 6){ > > int pp = 0; > > for(int i = 5 ; i >= 0 ; i -- ){ > > if(p.pos[i] != p.n - 6 + i){ > > pp = i; > break; > } > } > int k = p.pos[pp] + 1; > > for(int i = pp ; i <= 5 ; i ++ ){ > > p.pos[i] = k ++; > } > > if(p.pos[5] == p.n) > continue; > > cout << p; > } > cout << endl; > } > > int main(){ > > P p; > > while(scanf("%d",&p.n) && p.n){ > > p.init(); > > cin >> p; > > cp(p); > } > return 0; > } 顶个,从我搞ACM开始很少写这样的类了。 Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator