空间炸+超时+WA一个点,只A了一个点的代码:
#include<bits/stdc++.h>
using namespace std;
#define int long long
int x,y,z,h;
set<int> a;
void sl(int lc){
if(lc<=h){
a.insert(lc);
sl(lc+x);
sl(lc+y);
sl(lc+z);
}
}
signed main() {
cin>>h;
cin>>x>>y>>z;
sl(0);
cout<<a.size()-1;//好像size会多给一位,要减掉。
}
测试结果,我不知道是不是逻辑的问题,自测样例2的时候DEV-C++直接不输出了,也许是代码无法处理太大的数。如果有人能给新思路或者改改,必关,有回@我。要是逻辑问题的话跪求思路。