太抽象了
2024-06-11 12:57:35
发布于:广东
15阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> arr(n);
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
set<int> unique_set;
vector<int> month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
vector<int> month_checked(12, 0);
for (int i = 0; i < n - 7; ++i) {
if (arr[i] == 2) {
for (int j = i + 1; j < n - 6; ++j) {
if (arr[j] == 0) {
for (int k = j + 1; k < n - 5; ++k) {
if (arr[k] == 2) {
for (int l = k + 1; l < n - 4; ++l) {
if (arr[l] == 3) {
for (int a = l + 1; a < n - 3; ++a) {
if (arr[a] < 2) {
for (int b = a + 1; b < n - 2; ++b) {
int month1 = arr[a] * 10 + arr[b];
if (0 < month1 && month1 < 13 && month_checked[month1 - 1] == 0) {
month_checked[month1 - 1] = 1;
for (int c = b + 1; c < n - 1; ++c) {
if (arr[c] < 4) {
for (int d = c + 1; d < n; ++d) {
int day1 = arr[c] * 10 + arr[d];
if (0 < day1 && day1 <= month[month1 - 1]) {
unique_set.insert(arr[a] * 1000 + arr[b] * 100 + arr[c] * 10 + arr[d]);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
cout << unique_set.size() << endl;
return 0;
}
这里空空如也
有帮助,赞一个