1351. 密码锁

最裸的暴力,时间复杂度:(O(n^3))

const int N=110;
int a[3],b[3];
int n;

bool check(int c[],int a[])
{
    for(int i=0;i<3;i++)
        if(abs(a[i]-c[i]) > 2 && abs(a[i]-c[i]) < n-2)
            return false;
    return true;
}

int main()
{
    cin>>n;

    for(int i=0;i<3;i++) cin>>a[i];
    for(int i=0;i<3;i++) cin>>b[i];

    int ans=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            for(int k=1;k<=n;k++)
            {
                int c[]={i,j,k};
                if(check(c,a) || check(c,b))
                    ans++;
            }

    cout<<ans<<endl;
    //system("pause");
    return 0;
}
原文地址:https://www.cnblogs.com/fxh0707/p/14726131.html