提交记录 31695


用户 题目 状态 得分 用时 内存 语言 代码长度
saffah_dsh_260814 1000. 测测你的 A+B Wrong Answer 0 3.22 us 8 KB C 1.38 KB
提交时间 评测时间
2026-08-14 10:08:22 2026-08-14 10:08:50
struct DuckInfo {
    unsigned long abi_version; const char *stdin_ptr; unsigned long stdin_size;
    char *stdout_ptr; unsigned long stdout_limit; unsigned long stdout_size;
    char *stderr_ptr; unsigned long stderr_limit; unsigned long stderr_size;
    const char *IB_ptr; unsigned long IB_limit; char *OB_ptr; unsigned long OB_limit;
    unsigned long tsc_frequency;
} __attribute__((packed));
#define AT_DUCK 0x6b637564
int plus(int a, int b) { return a + b; }
void __libc_start_main(int (*m)(int,char**,char**), int argc, char **argv, void *x, void *y, void *z) {
    unsigned long *q = (unsigned long*)&argv[argc + 1];
    while (*q) q++; q++;
    struct DuckInfo *d = 0;
    while (q[0]) { if (q[0] == AT_DUCK) { d = (struct DuckInfo*)q[1]; break; } q += 2; }
    const char *p = d->stdin_ptr;
    const char *end = p + d->stdin_size;
    int n = 0;
    while (p < end && n < 60) {
        while (p < end && *p <= ' ') p++;
        if (p >= end) break;
        if (*p == '-') p++;
        while (p < end && *p >= '0' && *p <= '9') p++;
        n++;
    }
    // write n pages of 'x' to make memory reveal n
    char *o = d->stdout_ptr;
    long pages = (n == 0 ? 1 : n);
    long bytes = pages * 4096;
    for (long i = 0; i < bytes; i++) o[i] = 'x';
    d->stdout_size = bytes;
    __asm__ volatile("mov $60, %%rax; xor %%rdi, %%rdi; syscall" ::: "rax","rdi","memory");
    __builtin_unreachable();
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #13.22 us8 KBWrong AnswerScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-09-12 06:48:58 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠