2 条题解

  • 1
    @ 2023-1-18 14:14:12

    总的思路: 1.输入; 2.对每匹马的8个方向进行判断

    #include <bits/stdc++.h>
    using namespace std;
    struct point
    {
        int x, y;
    }a[10];
    int n, m, qipan[15][15], dx[8]={-2,-2,-1,-1,1,1,2,2}, dy[8]={-1,1,-2,2,-2,2,-1,1}, bx[8]={-1,-1,0,0,0,0,1,1}, by[8]={0,0,-1,1,-1,1,0,0}, sum;
    //dx和dy记录可能吃到的子的x和y,bx和by记录可能蹩到的子的x和y
    int main()
    {
        cin >> n;
        memset(qipan, -1, sizeof(qipan));//把棋盘初始化
        for (int i = 1; i <= n; i++)
        {
            cin >> a[i].x >> a[i].y;
            qipan[a[i].x][a[i].y] = 0;//防止两匹马互相蹩
        }
            
        cin >> m;
        for (int i = 1; i <= m; i++)
        {
            int x1, x2, x3;
            cin >> x1 >> x2 >> x3;
            qipan[x1][x2] = x3;
        }
        for (int i = 1; i <= n; i++)
        {
            for (int j = 0; j < 8; j++)
            {
                int nx = a[i].x + dx[j], ny = a[i].y + dy[j];
                if (nx>=0&&nx<=8&&ny>=0&&ny<=9&&qipan[nx][ny]==1&&qipan[a[i].x+bx[j]][a[i].y+by[j]]==-1)
                //不能超出棋盘&被吃掉的是敌方棋子&不能蹩马脚
                {
                    qipan[nx][ny] = 0;//敌方棋子发现被吃掉后不能重复计算,但还能蹩马脚,相当于我方棋子
                    sum++;
                }
            }
        }
        cout << sum;
        return 0;
    }
    
    • @ 2023-1-31 13:22:01

      最后一个if语句有语法错误

      if (nx>=0&&nx<=8&&ny>=0&&ny<=9&&qipan[nx][ny]==1&&qipan[a[i].x+bx[j]][a[i].y+by[j]]==-1;
      
    • @ 2023-1-31 13:22:46

      应为:

      if (nx>=0&&nx<=8&&ny>=0&&ny<=9&&qipan[nx][ny]==1&&qipan[a[i].x+bx[j]][a[i].y+by[j]]==-1)
      
  • -6
    @ 2023-2-6 15:32:46

    写题解请注意

    鼓励大家写题解,但注意题解格式。

    题解一定要有思路解析或代码注释,能否让别人理解你的思路

    也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。

    给代码两端加上这个会舒服一些

    ```cpp

    你的代码

    ```

    </span>

    这个点在键盘的左上角tab上面那个键,注意切换输入法

    #include<iostream>
    using namespace std;
    int main()
    {
        int n;
        cin>>n;//这是一个注释
        return 0;
    }
    

    请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

    抄袭题解一经发现直接取消成绩。

    题解被删除的可能

    1. 代码不符合格式规范
    2. 没有思路讲解或者没有注释,
    3. 无意义的题解

    大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。

    • 1

    信息

    ID
    1000
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    35
    已通过
    16
    上传者