NEFU OJ 比赛试题预测 (Python)

5 篇文章 0 订阅

Problem:???
Time Limit: + ∞ +\infty + days
Memory Limit: + ∞ +\infty + MB

Description

大一寒假训练的几天里,NEFU OJ上经常会看到一群大佬以最快的速度AK,然后变得无所事事 事不过三 三心二意 一个顶俩 俩…
在这种情况下请你设计一个程序预测明天的比赛题目,给大佬们找点事干。

Input

NEFU OJ上的一个网站 http://acm.nefu.edu.cn/index.php

Output

明天的比赛题目
一个n,比赛题目总数
下面n行每行一个ProblemID

Sample Input

http://acm.nefu.edu.cn/contest.php

Sample Output

1
2042

Hint

单组输入
假的题目

正文

好吧,前面的都是假的题目
flag{Th1s_1s_@_f@ke_pr@blem}

环境配置

  • 一个电脑
  • Python3环境
  • requests库 pip install requests

目录文件设计

  • NEFUOJ
  • *.py //用来下载查询题目数据
  • ojdata //存放题目数据文件
    • *.json //每个题目数据
    • all.txt //所有题目列表

核心思路

由于比赛开始前比赛中的题目会被锁定(变成题目暂不可用状态)
所以本蒟蒻想到了以下方法:

  • 先将没有比赛时的数据下载到本地
  • 比赛状态为Prepare时扫描一下题库,查看消失的题目即可
    在这里插入图片描述
    四个小程序(也可以合并一下)
  • ProblemDownloader 下载所有题库数据
  • ProblemViewer 查看下载到的本地题目
  • QueryNewLock 查看服务器上被锁定的题目并与本地比较
  • QueryUnavailable 查询并更新已被锁定的题目
  • lock.txt 存放已被锁定题目 (混入其中)
    在这里插入图片描述
    ojdata用于存放每个题目数据和题目总表

运行效果

本蒟蒻特别菜,写的代码比较乱,就不贴出来了,反正大佬们都会 o( ̄▽ ̄)o
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值