E - ∙ (Bullet) 不能同池子的限制,计数

...

主要是他这个-1 。。。因为 x y是并 。。比如 x 有0123 y也有012 就两种0 。。有-1 。

然后同号 异号 ? 同号 异号 就是分两类。。

的处理。。和计算。

cpp 复制代码
void solve() {
	cin >> n;
	map<ar, ar>mp;
	int cnt = 0;
	for (int i = 1; i <= n; ++i) {
		int x, y; cin >> x >> y;
		if (x == 0 && y == 0)
			cnt++;
		else if (x == 0)mp[ {0, 0}][0]++;
		else if (y == 0)mp[ {0, 0}][1]++;
		else {
			int t = gcd(x, y);
			x /= t, y /= t;
			if (x < 0 && y < 0)mp[ { -x, -y}][0]++;
			else if (x < 0)mp[ {y, -x}][1]++;
			else if (y < 0)mp[ { -y, x}][1]++;
			else mp[ {x, y}][0]++;
		}
	}
	Z ans = 1;
	for (auto[_, t] : mp) {
		auto[x, y] = t;
		ans *= qpow(2, x) + qpow(2, y) - 1;
	}
	ans += Z(cnt - 1);

	cout << ans;
};


//我们可以提出最大公约数之后 用map<ar,int>cnt
// 那就是联通分量。。相乘不行吗
// https://www.cnblogs.com/myrcella/p/12913733.html
相关推荐
wefg137 分钟前
【数据结构】unordered 系列容器底层结构和封装
数据结构·算法·哈希算法
从零点43 分钟前
插补算法(逐点比较法)+PWM配置操作
算法
DARLING Zero two♡1 小时前
【优选算法】LinkedList-Concatenate:链表的算法之契
数据结构·c++·算法·链表
Moonbit1 小时前
MoonBit Pearls Vol.14:哈希表避坑指南
后端·算法·编程语言
杰克尼1 小时前
120. 三角形最小路径和
算法
树在风中摇曳2 小时前
C语言动态内存管理:从基础到进阶的完整解析
c语言·开发语言·算法
mjhcsp2 小时前
C++ 高精度计算:突破数据类型限制的实现与应用
开发语言·c++·算法·高精度
大袁同学2 小时前
【二叉搜索树】:程序的“决策树”,排序数据的基石
数据结构·c++·算法·决策树·stl
蓝色汪洋2 小时前
xtu oj环--唉
算法