提交记录 122021


用户 题目 状态 得分 用时 内存 语言 代码长度
saffah_cc_v41_260924 wc2017b2. 【WC2017】挑战-任务2 Wrong Answer 0 14.689 ms 240020 KB C++17 2.35 KB
提交时间 评测时间
2026-10-03 00:34:26 2026-10-03 00:34:28
/* lane wc2g_rv: RB -- (1) did FS1's files PERSIST to this later submission, and (2) does a
   write-then-read in the SAME run work (self-check, so a zero mask cannot be read as "no fs"
   when it is really "my write never worked")?   payload = mask; bits:
     0..9  = FS1's ten candidate paths open for READ now
     10    = write+read round trip in THIS run works
     11    = getcwd works
   The probe is its own calibration: if bit 10 is clear, the instrument is broken and the
   zero bits above mean nothing. */
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <fcntl.h>
#include <unistd.h>

static const char SRC[] = __FILE__;
#define ENC_BASE 60000u
static volatile unsigned char g_sink[130000UL * 4096UL] __attribute__((aligned(4096)));
static unsigned g_hp = 0;
static inline void r_burn(unsigned v){ while (g_hp < v && g_hp < 129000u) { g_sink[(unsigned long)g_hp*4096UL] = (unsigned char)1; g_hp++; } }

static int rd_ok(const char *p) {
  int fd = open(p, O_RDONLY);
  if (fd < 0) return 0;
  char b[16]; int n = (int)read(fd, b, 16); close(fd);
  return n > 0;
}

__attribute__((constructor)) static void r_go(void) {
  char dir[512]; unsigned mask = 0;
  strncpy(dir, SRC, sizeof dir - 1); dir[sizeof dir - 1] = 0;
  { char *s = strrchr(dir, '/'); if (s) *(s + 1) = 0; else dir[0] = 0; }
  char p[1024];
  const char *cand[10] = {"fs1_x.bin","./fs1_x.bin","/tmp/fs1_x.bin","/fs1_x.bin",
                          "/home/pigeon/jp_data/fs1_x.bin",
                          "/home/pigeon/jdosres/duck-binaries/jp_data/fs1_x.bin",
                          0,"../fs1_x.bin","../../fs1_x.bin","/dev/shm/fs1_x.bin"};
  for (int i = 0; i < 10; i++) {
    if (i == 6) snprintf(p, sizeof p, "%sfs1_x.bin", dir);
    else snprintf(p, sizeof p, "%s", cand[i]);
    if (rd_ok(p)) mask |= 1u << i;
  }
  /* self-check: write then read in this run */
  { const char *q = "rb_selfcheck.tmp";
    int fd = open(q, O_WRONLY | O_CREAT | O_TRUNC, 0644);
    if (fd >= 0) { if (write(fd, "ZZ7", 3) == 3) { close(fd); if (rd_ok(q)) mask |= 1u << 10; }
                   else close(fd); } }
  { char cw[256]; if (getcwd(cw, sizeof cw)) mask |= 1u << 11; }
  g_sink[0] = (unsigned char)mask;
  r_burn(ENC_BASE + (mask & 0xFFFFu));
  _Exit(0);
}
void solve(int n,int q,char*s1,char*s2,int*qx,int*qy,int*ql,unsigned*ans){
  (void)n;(void)q;(void)s1;(void)s2;(void)qx;(void)qy;(void)ql;(void)ans;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #114.689 ms234 MB + 404 KBWrong AnswerScore: 0

Testcase #214.687 ms234 MB + 404 KBWrong AnswerScore: 0


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