51nod 1024 矩阵中不重复的元素

51nod 1024 矩阵中不重复的元素

51nod 1024 矩阵中不重复的元素

51nod 1024 矩阵中不重复的元素

解题思路:

以后凡是碰到指数问题,都要想到用对数求解。

这里用到了C++中set,之前没学过容器,今天看了一波,感觉很好用。这是与容器相关的基本操作https://www.cnblogs.com/omelet/p/6627667.html

由于精度问题,这里的对数只能取log2,用log10和log都会报错。

源码附上:

#include <iostream>
using namespace std;
#include <set>
#include <math.h>
int main()
{
	int m,n,a,b;
	cin>>m>>n>>a>>b;
	
	int i,j;
	set<double> st;
	for(i=a;i<a+n;i++)
	{
		for(j=b;j<b+m;j++)
		{
			st.insert(1.0*j*log2(i));
		}
	}
	cout<<st.size()<<endl;
	return 0;
}