| ||||||||||
| 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 | |||||||||
不好意思,没有考虑xi为0的情况。不好意思。。。In Reply To:想不明白为什么错了呢,有人帮忙看一下吗?相当直观的想法阿。。 Posted by:vanguard001 at 2006-05-01 15:28:11 > #include <iostream>
> #include <set>
> #include <vector>
> using namespace std;
>
> int factorials[10];
> set<int> s;
> vector<int> v;
>
> int main(){
> int i=0;
> factorials[0]=1;
> for(i=1; i<=9; i++){
> factorials[i] = factorials[i-1]*i;
> }
>
>
> s.insert(factorials[1]);
> set<int>::iterator it;
> for(i=2; i<=9; i++){
> v.clear();
> for(it=s.begin(); it!=s.end(); it++){
> v.push_back(*it+factorials[i]);
> }
> s.insert(v.begin(),v.end());
> s.insert(factorials[i]);
> }
>
> int n=0;
> while(true){
> cin >> n;
> if(n<0) break;
> if(n>409113){ //这个是最大的。。9!+。。。+1!
> cout << "NO" << endl;
> continue;
> }
> if(s.find(n)!=s.end())
> cout << "YES" << endl;
> else
> cout << "NO" << endl;
> }
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator