From d696edc5714465f21e0cee9295f55b647397e6fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Sat, 20 Jan 2024 17:24:18 +0800 Subject: [PATCH] 'commit' --- TangDou/LuoGuBook/ZhiMuSanJiaoXing.cpp | 27 ++++++++++---------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/TangDou/LuoGuBook/ZhiMuSanJiaoXing.cpp b/TangDou/LuoGuBook/ZhiMuSanJiaoXing.cpp index b79ff1b..1762eba 100644 --- a/TangDou/LuoGuBook/ZhiMuSanJiaoXing.cpp +++ b/TangDou/LuoGuBook/ZhiMuSanJiaoXing.cpp @@ -25,10 +25,7 @@ int pf(int x) { } bool check(Node a, Node b, Node c) { - cout << "a.x=" << a.x << ",a.y=" << a.y << endl; - cout << "b.x=" << b.x << ",b.y=" << a.y << endl; - cout << "c.x=" << c.x << ",c.y=" << a.y << endl; - + if (a.c != b.c || a.c != c.c || b.c != c.c) return false; // a与b之间距离 不等于 a与c之间距离 if (pf(a.x - b.x) + pf(a.y - b.y) * 3 != pf(a.x - c.x) + pf(a.y - c.y) * 3) return false; // a与b之间距离 不等于 b与c之间距离 @@ -62,20 +59,16 @@ int main() { vector res; // 在q数组中,选择任意三个,计算两两间距离是不是相等 for (int i = 0; i < q.size(); i++) - for (int j = 0; j < q.size(); j++) - for (int k = 0; k < q.size(); k++) { - if (i == j || i == k || j == k) continue; - - if (q[i].c != q[j].c || q[i].c != q[k].c || q[j].c != q[k].c) continue; - if (check(q[i], q[j], q[k])) - res.push_back(q[i].c); + for (int j = i + 1; j < q.size(); j++) + for (int k = j + 1; k < q.size(); k++) { + if (check(q[i], q[j], q[k])) res.push_back(q[i].c); } - if (res.size() == 0) - cout << "No Solution" << endl; - else { - sort(res.begin(), res.end()); - for (char x : res) cout << x << endl; - } + // if (res.size() == 0) + // cout << "No Solution" << endl; + // else { + // sort(res.begin(), res.end()); + // for (char x : res) cout << x << endl; + // } return 0; } \ No newline at end of file