stl:: set< set<char> >
阿新 • • 發佈:2022-05-24
井字棋https://www.acwing.com/problem/content/1727/
//set ans答案儲存的是set< > 所以可以起到列舉一個隊伍的作用
#include <iostream> #include <cstring> #include <algorithm> #include <set> #include <vector> using namespace std; set<set<char>> ans[2]; string g[3]; void insert(vector<vector<int>> ps) { set<char> S; for (auto& p: ps)//三個元素放入s 看看有多少個 { int x = p[0], y = p[1]; S.insert(g[x][y]); } for (auto a:S){ cout << a<<"第一"<< endl; } if (S.size() == 1) ans[0].insert(S); else if (S.size() == 2) ans[1].insert(S);//插入一個set } int main() { for (int i = 0; i < 3; i ++ ) cin >> g[i]; //行 for (int i = 0; i < 3; i ++ ) insert({{i, 0}, {i, 1}, {i, 2}}); //列 for (int i = 0; i < 3; i ++ ) insert({{0, i}, {1, i}, {2, i}}); //對角 insert({{0, 0}, {1, 1}, {2, 2}}); insert({{2, 0}, {1, 1}, {0, 2}}); cout << ans[0].size() << endl; cout << ans[1].size() << endl; return 0; }