逐梦者

我本将心向明月,奈何明月照沟渠!

CF-Codeforces Round #483 (Div. 2) A~D

ACM模版

A-Game

描述

描述

题解

两个人依次取数,A 每次取大的,B 每次取小的,直到剩余一个数,输出这一个,排序即可。

代码

#include <iostream>
#include <algorithm>

using namespace std;

const int MAXN = 1111;

int n;
int a[MAXN];

int main(int argc, const char * argv[])
{
    while (cin >> n)
    {
        for (int i = 0; i < n; i++)
        {
            cin >> a[i];
        }
        sort(a, a + n);

        cout << a[n - n / 2 - 1] << '\n';
    }

    return 0;
}

B-Minesweeper

描述

这里写图片描述

题解

扫雷游戏,注意空地情况可以理解为 0

代码

#include <iostream>
#include <cstring>

using namespace std;

const int MAXN = 111;
const int DIR[][2] =
{
    {-1, -1}, {-1, 0}, {-1, 1}, {0, -1},
    {0, 1}, {1, -1}, {1, 0}, {1, 1}
};

struct cell
{
    int dig;
    int cnt;
    int flag;
} C[MAXN][MAXN];

int n, m;

bool judge(int x, int y)
{
    if (x >= 0 && y >= 0 && x < n && y < m)
    {
        return 1;
    }

    return 0;
}

void change(int x, int y)
{
    C[x][y].flag = 1;
    int x_, y_;
    for (int i = 0; i < 8; i++)
    {
        x_ = x + DIR[i][0];
        y_ = y + DIR[i][1];
        if (judge(x_, y_))
        {
            C[x_][y_].cnt++;
        }
    }
}

int main(int argc, const char * argv[])
{
    while (cin >> n >> m)
    {
        getchar();

        memset(C, 0, sizeof(C));

        char x;
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
                x = getchar();
                if (x == '.')
                {
                    x = '0';
                }
                if (x >= '0' && x < '9')
                {
                    C[i][j].dig = x - '0';
                }
                if (x == '*')
                {
                    change(i, j);
                }
            }
            getchar();
        }

        int tag = 1;
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
                if (!C[i][j].flag && C[i][j].dig != C[i][j].cnt)
                {
                    cout << "NO\n";
                    tag = 0;
                    break;
                }
            }
            if (!tag)
            {
                break;
            }
        }

        if (tag)
        {
            cout << "YES\n";
        }
    }

    return 0;
}

C-Finite or not?

数论。详解>>>

D-XOR-pyramid

DP 或 O(n2) 暴力预处理后 O(1) 查找。详解>>>

阅读更多

扫码向博主提问

去开通我的Chat快问

f_zyj

弱校 ACM 竞赛拓荒者,从零到区域赛银
  • 擅长领域:
  • ACM
  • 挑战程序设计
  • C/C++
版权声明:听说这里让写版权声明~~~ https://blog.csdn.net/f_zyj/article/details/80331354
文章标签: CF
个人分类: 其他
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

CF-Codeforces Round #483 (Div. 2) A~D

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭