AcWing 1351. 密码锁
原题链接
简单
作者:
xihb183
,
2024-01-14 08:05:10
,
所有人可见
,
阅读 40
算法
(暴力枚举)
C++ 代码
/*
ID: xihb183
TASK: combo
LANG: C++
*/
/*
* 枚举
*/
#include<bits/stdc++.h>
using namespace std;
const int MAX_N = 3;
int N;
int a[MAX_N], b[MAX_N];
bool close(int a, int b)
{
if (abs(a-b) <= 2) return true;
if (abs(a-b) >= N - 2) return true;
return false;
}
bool close_enough(int *a, int *b) {
for (int i = 0; i < 3; i++)
if (!close(a[i],b[i]))
return false;
return true;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cin >> N;
for (int i = 0; i < 3; i++)
cin >> a[i];
for (int i = 0; i < 3; i++)
cin >> b[i];
int res = 0;
for (int n1 = 1; n1 <= N; n1++)
for (int n2 = 1; n2 <= N; n2++)
for (int n3 = 1; n3 <= N; n3++) {
int v[] = {n1, n2, n3};
if (close_enough(v, a) or close_enough(v, b))
res++;
}
cout << res << endl;
return 0;
}