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
相关推荐
passer__jw7671 小时前
【LeetCode】【算法】3. 无重复字符的最长子串
算法·leetcode
passer__jw7671 小时前
【LeetCode】【算法】21. 合并两个有序链表
算法·leetcode·链表
sweetheart7-71 小时前
LeetCode22. 括号生成(2024冬季每日一题 2)
算法·深度优先·力扣·dfs·左右括号匹配
景鹤4 小时前
【算法】递归+回溯+剪枝:78.子集
算法·机器学习·剪枝
_OLi_4 小时前
力扣 LeetCode 704. 二分查找(Day1:数组)
算法·leetcode·职场和发展
丶Darling.4 小时前
Day40 | 动态规划 :完全背包应用 组合总和IV(类比爬楼梯)
c++·算法·动态规划·记忆化搜索·回溯
风影小子5 小时前
IO作业5
算法
奶味少女酱~5 小时前
常用的c++特性-->day02
开发语言·c++·算法
passer__jw7675 小时前
【LeetCode】【算法】11. 盛最多水的容器
算法·leetcode
诸葛悠闲5 小时前
C++ 面试问题集合
算法