题解 | #数组分组#搬运工,留个记录,递归解法,看答案都看得懵逼

数组分组

http://www.nowcoder.com/practice/9af744a3517440508dbeb297020aca86

#include<iostream>
#include<vector>
#include<math.h>
using namespace std;
vector<int> elsevec;
int n,m,sum3,sum5,dis0; 
bool f(int i,int dis){
    if(i==elsevec.size()){
        return abs(dis)==dis0;
    }return (f(i+1,dis+elsevec[i])||f(i+1,dis-elsevec[i])); //**重点**
}
int main(){
    while(cin>>n){
        sum3=sum5=0;
        elsevec.clear();
        int t=n;
        while(t--){
            cin>>m;
            if(m%5==0){
                sum5+=m;    
            }else if(m%3==0){
                sum3+=m;
            }else{
                elsevec.push_back(m);
            }
        }dis0=abs(sum5-sum3);    
        if(f(0,0)){
            cout<<"true"<<endl;
        }else cout<<"false"<<endl;
    }
    return 0;
} 
全部评论

相关推荐

渐好:软光栅真的写明白了吗,既然是软渲那技术栈不应该使用OpenGL,光追和bvh既不算什么高级渲染技术更不应该属于软渲的内容,git那个项目没啥用,建议把前两个项目重新组织一下语言,比如软渲染那个项目 冯着色和msaa、贴图这几项分开写,写的到位点,如果你还学过光追那就单独写出来,如果没把握考官问你答不上来就别写给自己找麻烦,在技术栈那一栏简单提一下自己学过就行,这样杂的放在一起不太严谨,个人愚见.
点赞 评论 收藏
分享
04-17 10:16
门头沟学院 Java
不河狸啊:为什么我的是已送达,连已读都没有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务