码迷,mamicode.com
首页 > 其他好文 > 详细

AtCoder Beginner Contest 157

时间:2020-05-23 00:34:18      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:time   lse   duplex   names   guess   map   c++   输出   coder   

比赛链接:https://atcoder.jp/contests/abc157

A - Duplex Printing

题意

计算 $n$ 页的文档双面打印要用多少张纸。

题解

答案即 $\lceil \frac{n}{2} \rceil$ 。

代码

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n; cin >> n;
    cout << (n + 1) / 2;
}

B - Bingo

题意

给出一个 $3\times3$ 的方格,方格中的数互不相同,给出 $n$ 个互不相同的数,判断其中在方格中出现的数是否位于方格的同一行、或同一列、或同一对角线中。

题解

模拟即可。

代码

#include <bits/stdc++.h>
using namespace std;
int main() {
    map<int, pair<int, int>> mp;
    int a[3][3] = {};
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            cin >> a[i][j];
            mp[a[i][j]] = {i, j};
        }
    }
    int row[3] = {};
    int col[3] = {};
    int diago[3] = {};
    int n; cin >> n;
    for (int i = 0; i < n; i++) {
        int x; cin >> x;
        if (mp.count(x)) {
            ++row[mp[x].first];
            ++col[mp[x].second];
            if (mp[x].first == mp[x].second) 
                ++diago[0];
            if (mp[x].first + mp[x].second == 2)
                ++diago[1];
        }
    }
    bool ok = false;
    for (int i = 0; i < 3; i++) {
        ok |= row[i] == 3;
        ok |= col[i] == 3;
        ok |= diago[i] == 3;
    }
    cout << (ok ? "Yes" : "No");
}

C - Guess The Number

题意

输出一个 $n$ 位长的最小数,要求每一指定位都为指定数字,除了 $0$ 以外不可以出现前导零。

题解

模拟即可。

代码

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n, m; cin >> n >> m;
    bool ok = true;
    string ans(n, ‘0‘);
    bool used[n] = {};
    for (int i = 0; i < m; i++) {
        int s; cin >> s;
        char c; cin >> c;
        if (!used[s - 1]) {
            ans[s - 1] = c;
            used[s - 1] = true;
        } else if (ans[s - 1] != c) {
            ok = false;
        }
    }
    if (n > 1 and ans[0] == ‘0‘) {
        if (used[0]) ok = false;
        else ans[0] = ‘1‘;
    }
    cout << (ok ? ans : "-1");
}

D - Friend Suggestions

并查集,待填。

AtCoder Beginner Contest 157

标签:time   lse   duplex   names   guess   map   c++   输出   coder   

原文地址:https://www.cnblogs.com/Kanoon/p/12940465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!