数组-2—算法6-8-练习(P5728,P5729)

P5728
/**
 * ClassName: ${NAME}
 * package: ${PACKAGE_NAME}
 * Description:
 * @Author: innno
 * @Create: 2024/2/27 - 21:54
 * @Version: v1.0
 */
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

int main()
    {
        ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
        ll N;
        cin >> N;
        vector<vector<ll>> arr(N, vector<ll>(3));
        ll num = 0;
        for (vector<ll> &m: arr)
            {
                for (ll &n: m)
                    {
                        ll x;
                        cin >> x;
                        n = x;
                    }
                m.push_back(m[0] + m[1] + m[2]);
            }
        for (ll i = 0; i < arr.size() - 1; i++)
            {
                for (ll j = i + 1; j < arr.size(); j++)
                    {
                        auto it = arr.begin();
                        if (abs(it[i][3] - it[j][3]) <= 10)
                            {
                                ll id = 0;
                                for (int k = 0; k < 3; k++)
                                    {
                                        if (abs(it[i][k] - it[j][k]) <= 5)
                                            {
                                                id++;
                                            }
                                    }
                                if (id == 3)
                                    {
                                        num++;
                                    }
                            }
                    }
            }
        cout << num;
        return 0;
    }
P5729
/**
 * ClassName: ${NAME}
 * package: ${PACKAGE_NAME}
 * Description:
 * @Author: innno
 * @Create: 2024/2/27 - 21:54
 * @Version: v1.0
 */
#include <bits/stdc++.h>

using namespace std;
using ll = long long;
ll arr[25][25][25];

int main()
    {
        ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
        ll x, y, z;
        cin >> x >> y >> z;
        ll q;
        cin >> q;
        for (ll i = 0; i < q; i++)
            {
                ll x1, y1, z1, x2, y2, z2;
                cin >> x1 >> y1 >> z1 >> x2 >> y2 >> z2;
                for (ll r = x1; r <= x2; r++)
                    {
                        for (ll t = y1; t <= y2; t++)
                            {
                                for (ll u = z1; u <= z2; u++)
                                    {
                                        arr[r][t][u]++;
                                    }
                            }
                    }
            }
        ll num = 0;
        for (ll i = 1; i <= x; i++)
            {
                for (ll j = 1; j <= y; j++)
                    {
                        for (ll k = 1; k <= z; k++)
                            {
                                if (arr[i][j][k] == 0)
                                    {
                                        num++;
                                    }
                            }
                    }
            }
        cout << num;
        return 0;
    }

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部