• 大小: 67.52MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-05-07
  • 语言: 其他
  • 标签: acm  hdu  

资源简介

有2019 Multi-University Training Contest 8,hdu多校第8场的题解,数据标程,有需要的可以下载哦

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 

[[noreturn]] void usage(const char* name) {
    fprintf(stderr
        “Usage: %s input_file < user_output | diff - ans_file\n“
        “This is the special judge for Acesrc and Hunting.\n“
         name);
    std::exit(EXIT_FAILURE);
}

[[noreturn]] void wa(std::string reason = ““) {
    std::cout << “[SPJ] Wrong Answer“ << std::endl;
    if (reason.size()) std::cout << reason << std::endl;
    std::exit(0);
}

std::string readToken() {
    std::string token;
    if (!(std::cin >> token)) wa(“error occurred on reading token“);
    return token;
}

int readInt(int minv = INT_MIN int maxv = INT_MAX) {
    std::string token = readToken();
    size_t idx;
    try {
        int ret = std::stoi(token &idx);
        if (token.size() != idx) wa(“expected integer but not found“);
        if (ret < minv || ret > maxv) 
            wa(“input integer out of range: expected “ + 
                std::to_string(minv) + “ ~ “ + std::to_string(maxv) +
                “ found “ + std::to_string(ret));
        return ret;
    } catch (std::out_of_range &ex) {
        wa(“input integer overflow“);
    } catch (std::invalid_argument &ex) {
        wa(“expected integer but not found“);
    }
}

void check(int m int n) {
    std::string res = readToken();
    for (char &ch : res) ch = toupper(ch);
    if (res == “NO“) {
        std::cout << “NO“ << std::endl;
    } else if (res == “YES“) {
        std::vector> visited(m std::vector(n));
        int u = readInt(1 m) - 1 v = readInt(1 n) - 1;
        visited[u][v] = true;
        for (int i = 1; i < m * n; i++) {
            int uu = readInt(1 m) - 1 vv = readInt(1 n) - 1;
            int d2 = (u - uu) * (u - uu) + (v - vv) * (v - vv);
            if (d2 <= 1 || d2 >= 9) wa(“distance not between 1 and 3“);
            if (visited[uu][vv]) wa(“a trap visited twice“);
            visited[uu][vv] = true;
            u = uu; v = vv;
        }
        std::cout << “YES“ << std::endl;
    } else wa(“expected YES/NO found “ + res);
}

int main(int argc char *argv[]) {
    if (argc != 2) usage(argv[0]);
    std::ifstream fin(argv[1]);
    int T; fin >> T;
    while (T--) {
        int m n; fin >> m >> n;
        check(m n);
    }
    return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2770  2019-08-07 21:03  std\a.cpp

     文件       2865  2019-08-07 11:17  std\b.cpp

     文件       1072  2019-08-09 16:06  std\c.cpp

     文件       1210  2019-08-07 11:17  std\d.cpp

     文件       3498  2019-08-09 15:15  std\e.cpp

     文件       2136  2019-08-12 18:39  std\f.cpp

     文件       7755  2019-08-12 18:20  std\g.cpp

     文件       1290  2019-08-09 10:35  std\h.cpp

     文件       1514  2019-08-07 11:17  std\i.cpp

     文件       1006  2019-08-07 11:58  std\j.cpp

     文件        519  2019-08-07 11:59  std\k.cpp

     文件     278872  2019-08-14 16:43  solution.pdf

     文件     179785  2019-08-14 16:44  stat.pdf

     文件      33955  2019-08-12 18:36  data\a.in

     文件        137  2019-08-12 18:36  data\a.out

     文件   12110662  2019-08-12 18:36  data\b.in

     文件    1924220  2019-08-12 18:36  data\b.out

     文件      19376  2019-08-12 18:36  data\c.in

     文件      16445  2019-08-12 18:36  data\c.out

     文件       2360  2019-08-07 19:56  data\d-spj.cpp

     文件       1477  2019-08-12 18:36  data\d.in

     文件       1155  2019-08-12 18:36  data\d.out

     文件     890059  2019-08-12 18:36  data\e.in

     文件         63  2019-08-12 18:36  data\e.out

     文件   15562150  2019-08-12 18:36  data\f.in

     文件        110  2019-08-12 18:36  data\f.out

     文件   24295485  2019-08-12 18:36  data\g.in

     文件    4122330  2019-08-12 18:36  data\g.out

     文件     967200  2019-08-12 18:36  data\h.in

     文件        374  2019-08-12 18:36  data\h.out

............此处省略11个文件信息

评论

共有 条评论