本文属于bug类型,想学正经随机算法的误入
因为数字炸弹的程序中需要用到随机算法。但如果我们敲随机算法的话比较麻烦,对0基础的人比较不友好。所以今天我们将介绍一个比较简易的制作教程。
这里需要用到DEV-C++ 编译器里的 bug。我们知道 C++ 的STL里,空的情况下取元素理论上会RE。但是本人发现在取queue或deque的front时,程序不会崩掉。
那它的值可能是什么呢?我们可以写一段代码试一试(这里用队列举例)
#include <bits/stdc++.h>
using namespace std;
queue <int> a;
int main(){
cout <<a.front();
return 0;
}
这里需要注意,这个 bug 和DEV版本有密切联系,输出0或不输出是正常情况。请不要喷。
根据上述原理,我们就得到了一下代码:
#include <bits/stdc++.h>
using namespace std;
queue <int> a;
int main(){
int x=a.front(),y;
while (x!=y){
cin >>y;
if (y>x) cout <<"大了"<<endl;
else if (y<x) cout <<"小了"<<endl;
}
cout <<"对了";
return 0;
}