ACM模版

描述

题解

由于是指数级别的对比,所以取对数是一个很好地解决办法。然后悉数插入set,直接输出setsize()即可。

代码

#include <iostream>
#include <cmath>
#include <set>

using namespace std;

set<double> S;

int main(int argc, const char * argv[])
{
    int m, n, a, b;
    double v;

    while (cin >> m >> n >> a >> b)
    {
        for (int i = b; i < b + m; i++)
        {
            for (int j = a; j < a + n; j++)
            {
                v = (double)i * log2(1.0 * j);
                S.insert(v);
            }
        }
    }
    std::cout << S.size();

    return 0;
}