F - Zhuge Liang‘s Password

文章讲述了如何通过暴力旋转二维数组并比较元素相等次数的方法,解决给定两个二维数组a和b,求旋转数组a最多几次与b所有可能的旋转相匹配的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路:

(1)注意到数据范围很小,直接暴力旋转比对即可;

(2)对于旋转90度,c[i][j] = b[j][n - i - 1];

代码:

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <string.h>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <list>
#include <bitset>
#include <stack>
#include <stdlib.h>
#define lowbit(x) (x&-x)
#define e exp(1.0)
const int mod=1e9+7;
//ios::sync_with_stdio(false);
//    auto start = clock();
//    cout << (clock() - start) / (double)CLOCKS_PER_SEC;
typedef long long ll;
typedef long long LL;
using namespace std;
const int maxn=31;
int a[maxn][maxn],b[maxn][maxn],c[maxn][maxn];
int ans;
int n;
int rotate()
{
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
            c[i][j]=b[j][n-i-1];
    int sum=0;
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
        {
            if(a[i][j]==c[i][j])
                sum++;
            b[i][j]=c[i][j];
        }
    return sum;
}
int main()
{
    while(cin>>n && n)
    {
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)
                cin>>a[i][j];
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)
                cin>>b[i][j];
        ans=0;
        int t=4;
        while(t--)
            ans=max(ans,rotate());
        cout<<ans<<endl;
    }
    return 0;
}

根据实验内容,如果`zhugeliang`用户没有权限进行其应有的操作,可能是在实验过程中某些步骤执行有误或未按顺序正确完成。以下是确保`zhugeliang`用户拥有正确权限的关键步骤检查: 1. **确认用户与组创建成功**:首先保证`zhugeliang`用户已被成功创建,并且确实属于`shuhan`组。 2. **验证文件创建与初始权限设置**:`zhugeliang`应该能够使用`vim`创建`sanguosha.txt`文件,并将该文件的权限设置为自己可读写,同组用户只读,其他用户无任何权限。此时,如果这一步骤正确实施,则`zhugeliang`应当具有对这个文件的最大控制权,包括但不限于读取、编辑保存等。 3. **权限调整后的影响**:当`zhugeliang`更改了`sanguosha.txt`的权限以允许同组成员读写时,需要再次确认这一变更已经生效。这一步之后,所有属于`shuhan`组的成员(如`guanyu`以及后来加入的`dianwei`)都应对该文件具有读写的权利,而`zhugeliang`自身依旧保持原有的完全控制状态。 如果你遇到的问题是出现在这些步骤中的某一处,请回溯上述过程逐一排查,特别是注意命令行返回的信息是否有错误提示或者警告。同时也可以利用Linux系统内的`ls -l`命令来查看具体文件的权限情况,用以辅助诊断问题所在。例如,对于`sanguosha.txt`,你应该能看到类似如下输出(假设路径在主目录下): ``` -rw-rw---- 1 zhugeliang shuhan 45 Oct 1 12:00 sanguosha.txt ``` 这里的第一列为文件权限标识,第二列是文件的所有者,第三列是文件所属的组。确保这里的权限位符合预期——即文件所有者(`zhugeliang`)有读写权限(`rw-`),同组成员也有读写权限(`rw-`),而其他人都没有任何访问权限(`--`). 如果依然无法解决问题,建议重新按照文档指引一步一步地做一遍实验,特别是在涉及权限设定的地方要格外小心谨慎,确保每一条命令都能得到正确的响应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

y_lov

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值