1 条题解

  • 0
    @ 2026-1-10 14:55:01
    /*题目背景
    这是一道 hack 题。在此类型的题目中,你将得到若干个问题和若干个解决对应问题的代码,但是给出的代码不能对于某些输入给出正确的输出。不能给出正确的输出的情况包括:
    
    输出错误的结果。
    运行超时。
    产生一些运行时未定义行为。目前技术可检测的未定义行为仅包括数组越界。
    对于每个问题,你需要提交一份符合要求的输入数据,使得给定的代码不能给出正确的输出。你可以直接使用『提交答案』功能,也可以提交一份以任何语言写成的数据生成器。
    
    
    数据判定
    你给出的数据必须完全符合『数据规模要求』,否则将得到 unaccepted 的结果。
    
    超时判定
    程序每执行若干条指令,我们会检测一遍程序的运行时间。我们保证两次检测之间的指令条数是一个输入规模无关的量,也即每执行 
    O
    (
    1
    )
    O(1) 条指令会进行一次检测。且两次检测之间的指令条数不会太多,一般不超过 
    100
    100 条 C++ 语句。
    
    如果程序的运行时间超过 
    500
    ms
    500ms,则判定为程序运行超时,返回 accepted 结果。
    
    结果错误判定
    如果程序在规定的时间内结束且给出了一个输出,我们会比较这个输出和完全正确的输出,如果二者不同,则判定为 hack 成功,返回 accepted 结果。
    
    未定义行为判定
    我们会在每次显式的调用数组元素前判断数组下标是否超过数组范围,如果超过,则判定为 hack 成功,返回 accepted 结果。
    
    这就是说,如果你希望通过未定义行为进行 hack,只能对显式的调用数组元素的行为进行 hack。
    
    样例程序
    这是一份可以帮你理解你需要输出的内容的样例程序,但它不能给出正确的 hack 数据。直接提交此程序不会得分。
    
    #include <iostream>
    
    using namespace std;
    
    int main() {
      int taskId;
      cin >> taskId;
      if (taskId == 1) {
        cout << "1 1" <<endl;
      } else if (taskId == 2) {
        cout << "aba" << endl;
      } else if (taskId == 3) {
        cout << "2\n1 1" << endl;
      } else { // 这个 else 不会被执行
        cout << "OvoOvoovOovO" << endl;
      }
    }
    */
    
    
    • 1

    信息

    ID
    8266
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    0
    已通过
    0
    上传者