1 条题解

  • 0
    @ 2025-8-24 22:18:25

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 幻之陨梦
    可叹叶飘零,归期未有期

    搬运于2025-08-24 22:18:25,当前版本为作者最后更新于2020-03-11 07:59:48,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    这道题是一道非常良心的签到题但我却错了好几次(雾

    Solution:Solution:

    这道题有一个坑点,就是你不能一边读入一边就处理了,我就栽在了这个坑里。处理战车和主教需要用到三重循环,前两重遍历横纵坐标,第三重遍历战车或主教能攻击到的位置,战车和主教每个都用四个单重循环来遍历位置,具体内容参见代码。

    ACcode:ACcode:

    //#include<bits/stdc++.h>//万能头文件
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    using namespace std;//标准数据库
    char ch[8][8];
    bool ans[8][8];
    int main()
    {
        for(int i=0;i<8;i++) scanf("%s",ch[i]);//现将整个棋盘输入进去
        for(int i=0;i<8;i++)//遍历8行
        {
            for(int j=0;j<8;j++)//遍历8列
            {
                if(ch[i][j]=='R')//如果是战车
                {
                    ans[i][j]=1;//先将自己站的位置标1
                    for(int k=i-1;k>=0 && ch[k][j]=='.';k--) ans[k][j]=1;//这个战车的上方不能放国王,所以全都设为1
                    for(int k=i+1;k<8 && ch[k][j]=='.';k++) ans[k][j]=1;//这个战车的下方也不能放国王,所以也全都设成1
                    for(int k=j-1;k>=0 && ch[i][k]=='.';k--) ans[i][k]=1;//同理这个战车的z左边也不能放国王
                    for(int k=j+1;k<8 && ch[i][k]=='.';k++) ans[i][k]=1;//同理这个战车的右边也不能放国王
                }
                else if(ch[i][j]=='B')//如果是主教
                {
                    ans[i][j]=1;//先将自己的位置标1
                    for(int k=i-1,l=j-1;k>=0 && l>=0 && ch[k][l]=='.';k--,l--) ans[k][l]=1;//左上方不能放国王
                    for(int k=i+1,l=j+1;k<8 && l<8 && ch[k][l]=='.';k++,l++) ans[k][l]=1;//右下方也不能放国王
                    for(int k=i-1,l=j+1;k>=0 && l<8 && ch[k][l]=='.';k--,l++) ans[k][l]=1;//右上方也不能放国王
                    for(int k=i+1,l=j-1;k<8 && l>=0 && ch[k][l]=='.';k++,l--) ans[k][l]=1;//左下方也不能放国王
                }
            }
        }
        for(int i=0;i<8;i++)
        {
            for(int j=0;j<8;j++) printf("%d",!ans[i][j]);//因为上面不行的地方全取的是1,所以输出时取反即可
            puts("");
        }
        return 0;
    }
    

    记得留赞呦,Thanks♪(・ω・)ノ

    • 1

    信息

    ID
    5204
    时间
    1000ms
    内存
    125MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者