最近的事情更无语了,某鱼上现在有三个人在卖数据了。周赛数据永久停止更新。

不允许学生创建新讨论了,后面大家可以在这里讨论相关内容。会定期清理。

删了一些同学们自己举办的比赛的帖子。

我建议你们可以私聊参赛。讨论区太乱了,有些提问我看不到了已经。

更重要的是,还是先好好学算法吧各位同学,当你拿了提高组 200200 分,再考虑自己举办一些简单的比赛。

语法场的初心还是为了学生们巩固基础语法,高水平选手可以选择参加入门语法场和入门提高场 目前也没看见能打的 (参考新春马拉松赛成绩)

感觉不过瘾还可以打atcoder和codeforces

415 条评论

  • @ 2026-5-26 20:24:31

    6天后将有大事发生

  • @ 2026-5-23 17:55:58

    • @ 2026-5-23 17:52:23

      • @ 2026-5-23 16:42:56

        关于A0062的答案: #include<bits/stdc++.h> using namespace std; int a;double b,c; int main() {
        cin>>a; b=a/1.2; c=a/3.0+27.0+23.0; if(c>b) cout<<"Walk"; else if(b>c) cout<<"Bike"; else cout<<"All"; return 0; }

        • 🪟 Retro Mini OS v3.1 — 用户手册

          Retro Mini OS v3.1 是一个运行在浏览器中的复古风格虚拟操作系统,模拟了经典桌面操作系统的界面与交互体验。内置文件管理、文本编辑器、游戏、浏览器、计算器、画图等常用应用。


          目录


          1. 启动与桌面

          启动过程

          打开页面后,会出现经典的 BIOS 启动自检动画:

          BIOS CHECKING... OK
          MOUNTING VIRTUAL DRIVE (C:)... OK
          LOADING OS V3.1...
          

          约 1 秒后进入桌面。

          桌面布局

          • 桌面图标:双击图标打开对应应用
          • 任务栏:底部固定栏,包含「Start」按钮和实时时钟
          • CRT 扫描线特效:全局复古 CRT 显示器滤镜

          桌面图标一览

          图标 应用名称 功能说明
          📁 My Files 文件管理器,浏览/打开/删除文件
          📒 Notepad 纯文本编辑器,保存/加载 .txt 文件
          📝 WritePad Pro Markdown 编辑器,支持实时预览
          🕹️ Arcade 游戏中心,包含 8 款内置小游戏
          🌐 Internet 内置浏览器,支持网页浏览
          🎨 Wallpaper 桌面壁纸颜色更换
          🧮 Calculator 科学计算器
          🖌️ Paint 画图工具
          📖 Game Intro 游戏详细介绍

          2. 窗口操作

          所有应用窗口均支持以下操作:

          操作 方式 说明
          拖动 鼠标按住标题栏拖拽 自由移动窗口位置
          调整大小 拖动窗口右下角手柄 最小 100×80 像素
          前置 点击窗口任意位置 窗口自动置顶
          关闭 点击标题栏右侧 X 按钮 关闭窗口

          窗口采用经典 Win95 风格的外观:

          • 蓝色活动标题栏 / 灰色非活动标题栏
          • 凸起/凹陷边框效果
          • 层叠阴影

          3. 应用列表

          3.1 My Files(文件管理器)

          功能:浏览和管理虚拟磁盘 (C:) 中的所有文件。

          操作 说明
          双击打开 点击文件名,自动用对应编辑器打开
          删除文件 点击文件名右侧的 DEL 按钮
          自动识别 .md 文件用 WritePad 打开,其余用 Notepad 打开

          提示:所有文件存储在浏览器 localStorage 中,清除浏览器数据会导致文件丢失。


          3.2 Notepad(记事本)

          功能:创建和编辑纯文本文件。

          功能 说明
          新建文件 打开空白编辑器,默认文件名为 untitled.txt
          💾 SAVE 将内容保存到虚拟磁盘(必须使用 .txt 扩展名)
          📂 LOAD 从虚拟磁盘中选择并加载已有文件
          文件名输入框 输入/修改文件名

          3.3 WritePad Pro(Markdown 编辑器)

          功能:Markdown 文档编辑器,支持实时预览。

          支持语法

          语法 效果
          # 标题 ~ ###### 标题 多级标题
          **粗体** 粗体
          `行内代码` 行内代码
          - 列表项 / * 列表项 无序列表
          > 引用 引用块
          --- 分隔线
          ` 列1
          [文字](链接) 超链接
          功能 说明
          💾 SAVE 保存为 .md 文件
          📂 LOAD 加载已有 .md 文件
          PREVIEW 右侧面板实时预览渲染效果
          自动预览 编辑时自动更新预览

          3.4 Arcade(游戏中心)

          功能:内置 8 款经典小游戏,点击游戏卡片即可开始。

          所有游戏均使用键盘操作,详见第 5 节「内置小游戏详解」。

          游戏 类型 难度
          🐍 Snake 贪吃蛇
          🏓 Pong 乒乓球
          👻 Pac-Lite 吃豆人 ⭐⭐
          🧱 Tetris 俄罗斯方块
          👾 Invaders 太空侵略者
          🧱 Breakout 打砖块
          🚜 Tank 坦克大战 ⭐⭐⭐
          🏎️ Racer 赛车躲避

          游戏中按 MENU 按钮可返回游戏选择界面。


          3.5 Internet(浏览器)

          功能:基于 iframe 的内置网页浏览器。

          功能 说明
          地址栏输入 输入网址后按 Enter 或点击 GO
          自动补全协议 自动添加 https:// 前缀
          搜索功能 输入关键词自动跳转 Google 搜索
          ◀ 后退 返回上一页
          ▶ 前进 前进到下一页
          ⟳ 刷新 刷新当前页面
          🏠 主页 跳转到 Google 首页
          状态栏 显示加载状态

          注意:部分网站可能因为 iframe 安全策略(X-Frame-Options)无法加载。


          3.6 Wallpaper(壁纸设置)

          功能:更换桌面背景颜色。

          • 提供 16 种预设颜色选择
          • 点击颜色方块即时预览
          • 设置会自动保存到 localStorage,下次访问自动恢复

          可选颜色#008080 #000080 #800000 #808000 #008000 #800080 #000000 #808080 #c0c0c0 #ff0000 #00ff00 #0000ff #ffff00 #ff00ff #00ffff #ffffff


          3.7 Calculator(计算器)

          功能:四则运算计算器。

          按钮 功能 说明
          0-9 数字输入 标准数字键盘
          + - × ÷ 运算符 加减乘除
          . 小数点 支持小数运算
          = 等号 计算结果
          C 清空 归零
          退格 删除最后一位输入

          支持连续运算,出错时显示 Error


          3.8 Paint(画图)

          功能:简易画图工具。

          工具 说明
          Brush(画笔) 自由绘制线条
          Line(直线) 点击拖拽绘制直线
          Rect(矩形) 点击拖拽绘制矩形边框
          Circle(圆形) 点击拖拽绘制圆形边框
          颜色选择器 选择画笔/形状颜色
          Clear 清空画布
          Save 导出为 PNG 图片下载

          画布尺寸:600×400 像素。


          3.9 Game Intro(游戏介绍)

          功能:查看 Arcade 中所有 8 款游戏的详细介绍。

          每个游戏卡片包含:

          • 游戏名称和图标
          • 玩法描述
          • 操作键位说明

          方便新玩家在开始游戏前了解规则。


          4. 虚拟文件系统(VFS)

          系统使用 localStorage 模拟虚拟磁盘 (C:),提供持久化存储。

          数据结构

          {
            "welcome.txt": "Welcome to Retro OS v3.1!\n...",
            "demo.md": "# Markdown Demo\n\n...",
            "自定义文件名.txt": "文件内容..."
          }
          

          预置文件

          文件名 内容
          welcome.txt 欢迎信息
          demo.md Markdown 语法演示文档

          文件操作

          操作 API
          保存 sys.fs.save(name, content)
          读取 sys.fs.read(name)
          删除 sys.fs.del(name)
          列表 sys.fs.list()

          5. 内置小游戏详解

          🐍 Snake(贪吃蛇)

          • 目标:控制蛇吃掉红色食物,蛇身会不断增长
          • 规则:不能撞墙或撞到自己
          • 操作:↑↓←→ 方向键
          • 得分:每吃一个食物 +10 分

          🏓 Pong(乒乓球)

          • 目标:控制绿色球拍,将球击回上方
          • 规则:AI 对手在上方,球落到底线则重置,继续得分
          • 操作:← → 方向键
          • 得分:每次成功回球 +10 分

          👻 Pac-Lite(吃豆人)

          • 目标:吃掉迷宫中所有白色豆子,躲避红色鬼魂
          • 规则:碰到鬼魂则游戏结束,吃完所有豆子通关
          • 操作:↑↓←→ 方向键
          • 得分:每吃一个豆子 +5 分

          🧱 Tetris(俄罗斯方块)

          • 目标:填满整行即可消除
          • 规则:方块从顶部下落,堆积到顶部则游戏结束
          • 操作:← → 移动,↑ 旋转,↓ 加速下落
          • 得分:每消除一行 +100 分

          👾 Space Invaders(太空侵略者)

          • 目标:消灭所有外星人
          • 规则:外星人左右移动并逐渐下降,触底则游戏结束
          • 操作:← → 移动,空格键 射击
          • 得分:每消灭一个外星人 +50 分

          🧱 Breakout(打砖块)

          • 目标:用弹球击碎所有彩色砖块
          • 规则:球落到挡板下方则游戏结束
          • 操作:← → 方向键
          • 得分:每击碎一个砖块 +10 分

          🚜 Tank(坦克大战)

          • 目标:控制绿色坦克消灭红色敌人
          • 规则:敌人从上方向下移动并增多,碰到敌人则游戏结束
          • 操作:↑↓←→ 移动,空格键 射击
          • 得分:每消灭一个敌人 +100 分

          🏎️ Racer(赛车躲避)

          • 目标:躲避前方不断出现的红色障碍车辆
          • 规则:碰到障碍车则游戏结束,坚持越久分数越高
          • 操作:← → 方向键
          • 得分:每安全通过一辆障碍车 +1 分

          6. 技术架构

          核心技术栈

          技术 用途
          HTML5 页面结构
          CSS3 复古 Win95 风格样式
          JavaScript (ES6) 全部交互逻辑
          Canvas API 游戏渲染
          localStorage 虚拟文件系统持久化
          iframe 内置浏览器实现

          代码结构

          sys (系统核心)
          ├── fs          (虚拟文件系统)
          ├── boot()      (启动动画)
          ├── win()       (窗口创建)
          ├── close()     (窗口关闭)
          ├── front()     (窗口置顶)
          ├── drag()      (窗口拖动)
          ├── resize()    (窗口缩放)
          └── alert()     (系统弹窗)
          
          app (应用程序)
          ├── files()          (文件管理器)
          ├── notepad()        (记事本)
          ├── writepad()       (Markdown 编辑器)
          ├── arcade()         (游戏中心)
          ├── browser()        (浏览器)
          ├── wallpaper()      (壁纸设置)
          ├── calculator()     (计算器)
          ├── paint()          (画图工具)
          └── gameIntro()      (游戏介绍)
          
          game (游戏引擎)
          ├── load()           (加载游戏)
          ├── stop()           (停止游戏)
          ├── exit()           (退出游戏)
          ├── keyD()/keyU()    (键盘事件)
          ├── score()          (计分)
          └── over()           (游戏结束)
          
          G_* (游戏逻辑 - 8款独立游戏)
          ├── G_Snake          (贪吃蛇)
          ├── G_Pong           (乒乓球)
          ├── G_Pac            (吃豆人)
          ├── G_Tetris         (俄罗斯方块)
          ├── G_Space          (太空侵略者)
          ├── G_Break          (打砖块)
          ├── G_Tank           (坦克大战)
          └── G_Race           (赛车躲避)
          

          数据存储

          存储项 Key 内容
          文件系统 retroOS_v3_fs JSON 格式的文件名-内容映射
          壁纸设置 retroOS_wallpaper 当前桌面背景色值

          📖 Retro Mini OS v3.1 — 致敬经典桌面时代的浏览器端虚拟操作系统。

        • @ 2026-5-22 23:28:45

          🎮 坦克大战 · Battle City

          经典街机游戏复刻 · HTML5 Canvas 单文件实现 · 支持双人合作


          📖 游戏简介

          《坦克大战》是一款基于经典 FC 街机游戏改编的 HTML5 浏览器游戏。玩家驾驶坦克,消灭敌人、摧毁敌方基地,同时保护己方基地不被摧毁。游戏共 20 关,分为四个阶段,每 5 关迎来一位实力更强的大 BOSS,挑战层层递进。


          🗺️ 关卡结构

          游戏共 20 关,分 4 个阶段,难度逐步提升:

          阶段 关卡 主题 大 BOSS 关
          第一阶段 1 – 5 入门训练 ⭐ 第 5 关
          第二阶段 6 – 10 要塞攻坚 ⭐⭐ 第 10 关
          第三阶段 11 – 15 暗影丛林 ⭐⭐⭐ 第 15 关
          最终阶段 16 – 20 最终决战 ⭐⭐⭐⭐ 第 20 关

          每个阶段包含丰富的地图主题:河流地带、冰原战场、钢铁长城、暗影森林、迷宫之路……


          👾 敌人与 BOSS

          普通敌人

          • 红色坦克,HP 随关卡递增(后期最高 3 HP)
          • AI 优先追踪攻击玩家;无玩家时向我方基地突进

          精英 BOSS(紫色)

          • 出现于各阶段中期
          • HP 4,攻击频率更高,移动更积极

          大 BOSS(★ 红橙色闪烁)

          • 仅在第 5 / 10 / 15 / 20 关出现
          • 体型更大,HP 随关卡递增:8 → 13 → 18 → 23
          • 特殊技能:每 1.5 秒向四个方向发射散弹,额外 30% 连射概率
          • 追踪范围远超普通敌人(420 像素)
          • 击杀奖励:+1500 分 + 免费 1 颗炸弹

          🎯 过关条件

          • 胜利:摧毁敌方基地(地图顶部 🏚)
          • 失败:我方基地(地图底部 ⭐)被摧毁,或全部生命耗尽

          🎮 操作说明

          玩家一(黄色坦克)

          按键 操作
          W A S D 移动
          J / 空格 射击
          B 使用炸弹(清场)
          Q 激活护盾(需拾取)

          玩家二(绿色坦克,双人模式)

          按键 操作
          ↑ ↓ ← → 移动
          Enter / 数字键 0 射击
          M 使用炸弹

          通用

          按键 操作
          P 暂停 / 继续

          💎 道具系统

          道具在击杀敌人时随机掉落,走上去自动拾取:

          图标 道具 效果
          共享生命 队伍生命 +1(最高 8)
          🛡 护盾 5 秒无敌
          强化炮弹 5 秒内子弹可穿透钢铁
          💣 炸弹 获得一颗炸弹(B 键使用可清场)
          🚀 加速 5 秒移速大幅提升

          🗺️ 地形说明

          地形 特性
          砖墙(棕色) 可被子弹摧毁
          钢铁(灰色) 仅强化炮弹可摧毁
          树林(绿色) 遮蔽视线,坦克可穿越
          冰面(蓝色) 坦克在此会滑行,难以控制
          ⭐ 我方基地 必须保护,被摧毁即失败
          🏚 敌方基地 攻击目标,摧毁即过关

          📊 分数对照

          目标 分数
          击杀普通敌人 +100
          击杀精英 BOSS +500
          击杀大 BOSS +1500(含额外奖励)

          🛠️ 技术信息

          • 平台:浏览器(无需安装,双击 HTML 即可运行)
          • 实现:纯 HTML5 Canvas + JavaScript 单文件
          • 分辨率:624 × 624 像素(13 × 13 格,每格 48px)
          • 帧率:60 FPS 游戏循环

          🚀 快速开始

          # 直接用浏览器打开即可
          open tank_battle.html
          

          或将 tank_battle.html 拖入任意现代浏览器窗口。


          制作于 2026 年 · 致敬经典

        • @ 2026-5-22 23:24:22

          班级八卦会 🍵

          同学之间匿名分享八卦的轻量论坛。注册后就能发言,所有人都能看到。

          功能

          • 注册/登录
          • 发布八卦(最多 500 字)
          • 浏览所有八卦
          • 删除自己的帖子(管理员可删任意帖子)
        • 飞机大战

          一款极简风格的弹幕射击游戏。

          游戏玩法

          • 移动:方向键 ↑ ↓ ← → 控制飞机
          • 射击:空格键 Space 发射子弹
          • 暂停:ESC 暂停游戏
          • 商店:R 键打开商店

          游戏特色

          • 极简美术:纯黑背景 + 青色边框 + 几何图形
          • 玩家:青色空心三角形
          • 敌人:灰色方块 + 红色子弹
          • BOSS:4种不同形状的BOSS + 弹幕攻击
          • 粒子特效:红色大圆 + 绿色小圆爆炸效果

          敌人类型

          类型 颜色 血量 特点
          BASIC 红色中圆 1 普通敌人
          FAST 绿色小小圆 快速移动
          TANK 灰色 5 高血量

          BOSS类型

          名称 形状 颜色 血量 分数 攻击方式
          LIGHTHOUSE 圆形 蓝色 150 15000 扇形弹幕
          SQUARE 方形 红色 200 20000 快速直线射击
          TRIANGLE 三角形 绿色 250 25000 散弹 + 环绕弹
          HEXAGON 六边形 紫色 300 30000 螺旋弹幕 + 追踪弹

          商店物品

          物品 价格 效果
          射速 +20% 150金币 加快射击频率
          速度 +15% 120金币 加快移动速度
          生命 +1 200金币 增加一条命
          飞机变大 180金币 飞机体积增大
          防御塔 300金币 自动攻击敌人
          魔法塔 400金币 强力魔法攻击
          护盾 x1 80金币 抵挡一次伤害

          得分规则

          • 消灭敌人获得得分和金币(金币 = 得分)
          • 消灭不同BOSS获得不同分数
          • 分数达到500后BOSS随机出现

          操作说明

          1. 打开 index.html 开始游戏
          2. 消灭敌人收集金币
          3. 在商店升级属性
          4. 击败BOSS获胜!
        • 保龄球代码

          #include<bits/stdc++.h>
          using namespace std;
          struct WA{
                 int b;
                 int shu;
          }ac[100005];
          int cmp(WA x,WA y)
          {
              return x.shu<y.shu;
          }
          int n,q;
          int main()
          {
              cin>>n;
              for(int i=1;i<=n;i++)
              {
                  cin>>ac[i].shu;
                  ac[i].b=i;
              }
              cin>>q;
              sort(ac+1,ac+n+1,cmp);
              for(int i=1;i<=q;i++)
              {
                  int x;
                  cin>>x;
                  int l=1,r=n,mid,ans=0;
                  while(l<=r)
                  {
                      mid=(l+r)/2;
                      if(ac[mid].shu>x)
                      {
                          r=mid-1;
                      }
                      else if(ac[mid].shu<x)
                      {
                          l=mid+1;
                      }
                      else{
                          ans=ac[mid].b;
                          break;  
                      }
                  }
                  cout<<ans<<endl;
              }
              
          }
          
        • A0221ac代码

          #include<bits/stdc++.h>
          using namespace std;
          int m;
          int main()
          {
              cin>>m;
              for(int i=1;i<=m/2;i++)
              {   
          	    int cnt=0;
              	int j;
          	   	for(j=i;j<=m/2+1;j++)
          	   	{
             		    cnt+=j;
          			if(cnt>=m) break;	
          	    }
          	    if(cnt==m)cout<<i<<" "<<j<<endl;
              }
             return 0;
        • 哈哈哈哈哈,我要笑死啦!😂😂😂

          • @

            XBT学生人格测试的建议与bug

            1.无法生成结果(点了没反应)

            2.测试题可以再多一些

          • @ 2026-4-29 21:29:29

            666

          • @ 2026-4-26 20:00:25

            代码能量收集器

            游戏介绍

            欢迎来到「代码能量收集器」——一款融合了放置挂机、战斗挑战、社交互动与AI对战的综合性网页游戏。在这裡,你将扮演一名初出茅庐的程序员,通过收集代码能量、升级科技装备、挑战程序漏洞BOSS,最终成长为代码世界的传奇人物。


            核心玩法

            能量收集系统

            代码能量是整个游戏的核心资源。你可以通过两种方式获取能量:

            手动点击:点击中央的能量区域,每次点击都能获得基础能量。随着「内存优化」等级的提升,每次点击获得的能量会持续增长。这是最直接的收集方式,适合想要积极参与的玩家。

            自动产出:每秒钟自动产出的能量取决于「CPU算力」的等级。更高级的设备如「GPU加速」「云服务器」「AI助手」和「量子计算」会为你的产出带来乘数级别的提升。当你的自动化系统足够强大时,即使离线也能持续积累能量。

            升级系统

            游戏提供了六种升级路线,每种都有独特的加成机制:

            装备 主要效果 特色
            CPU算力 每秒自动产出+1 基础自动化核心
            内存优化 每次点击能量翻倍 提升手动效率
            GPU加速 产出获得10倍加成 大幅提升总产出
            云服务器 离线收益+50% 告别时间限制
            AI助手 产出再翻2倍 指数级增长
            量子计算 产出再翻3倍 最终极加成

            每种升级都有等级上限,需要消耗越来越多的能量才能继续提升。如何在有限的资源下分配升级优先级,是每个玩家都需要思考的战略问题。

            战斗系统

            除了收集能量,你还可以挑战程序世界中的各种BUG与漏洞。游戏内置了10层BOSS挑战,从最基础的「Bug病毒」到终极的「赛博Boss」,每一层都有独特的血量、攻击力和奖励。

            战斗机制

            • 你的HP由「CPU算力」决定
            • 你的攻击力由「内存优化」和「GPU加速」决定
            • 每回合你可以选择普通攻击或使用技能

            三大技能

            • 重击:造成2倍伤害,冷却2回合
            • 吸血:造成0.5倍伤害并恢复30%最大HP,冷却3回合
            • 必杀技:造成5倍伤害,冷却5回合

            击败BOSS不仅能获得大量能量奖励,首通还有额外bonus。挑战高难度BOSS需要合理的属性升级和技能搭配,是策略与操作的结合。

            社交系统

            「代码能量收集器」不只是一个人的战斗。游戏内置了完整的社交系统,让你可以与其他玩家互动交流。

            公屏聊天室:所有玩家共享一个公共聊天频道,可以分享游戏心得、交流攻略、结识志同道合的朋友。

            私聊系统:想要一对一深入交流?使用私聊功能可以与任何已注册玩家单独对话。输入对方用户名即可发起私聊,消息实时传递。

            AI机器人小明:游戏内置了一个会聊天的AI机器人。输入「小明」就能和他私聊,他会用丰富的回复与你互动,还会根据话题分享游戏攻略、能量技巧和战斗建议。

            工具箱

            游戏提供了丰富的辅助工具:

            每日签到:每天签到可获得100能量,连续签到天数越多,成就感越强。连续签到7天还能解锁专属成就。

            兑换码系统:官方会不定期发布兑换码,输入即可领取额外能量。目前可用的兑换码包括:WELCOME100、ENERGY500、CODE2024、VIP2000、GAMER5000。

            导出/导入存档:你的所有数据都可以导出为加密字符串,方便备份或换设备时迁移。导入存档功能可以轻松恢复游戏进度。

            排行榜:查看所有玩家的累计能量产出排名,看看自己距离顶级玩家还有多远。

            成就系统

            游戏内置了16个成就,涵盖了产出积累、战斗挑战、社交互动等多个维度:

            产出成就链:初学者 → 程序员 → 工程师 → 架构师 → CTO,分别对应累计产出100、1K、10K、100K、1M能量。

            战斗成就链:初战告捷(击败第1层) → 战士(击败5层) → 勇者(击败10层) → 全BOSS克星(击败全部BOSS)。

            社交成就链:社交达人(发送10条消息) → 社交之星(发送50条消息)。

            特殊成就:点击达人、自动大师、满级玩家、连续签到等。

            每个成就都有详细的达成条件和背景描述,点击成就徽章可以查看具体进度。


            技术特色

            「代码能量收集器」采用纯原生Web技术栈开发,无需任何框架依赖。游戏数据全部存储在浏览器本地localStorage中,无需注册即可开始游戏(但注册后可以解锁更多功能)。

            界面设计遵循极简主义美学,采用深色科技风格,以黑白灰为主色调,搭配霓虹绿和霓虹青作为点缀。Montserrat字体确保了优秀的可读性,卡片式布局让信息层次分明。


            游戏理念

            我们相信,一款好的放置游戏应该让玩家在离线时也能感受到成长的喜悦,在在线时能找到互动的乐趣。「代码能量收集器」正是基于这一理念设计——无论你是佛系玩家还是肝帝,是独狼还是社交达人,都能在这里找到属于自己的快乐。

            现在就开始你的代码能量之旅吧!


            版本:v4.7 最后更新:2026年4月26日

          • @ 2026-4-25 15:45:25

            我推出XBTI(学生人格测试)

            测试链接:fengyubo.net/XBTI

          • 误闯天家

            B3612

            #include<bits/stdc++.h>
            using namespace std;
            const int M=1e5;
            int a[M];
            int main(){
            	ios::sync_with_stdio(false);
            	cin.tie(0);
            	int n;
            	cin>>n;
            	for(int i=1;i<=n;i++){
            		cin>>a[i];
            	}
            	int m;
            	cin>>m;
            	while(m--){
            		int l,r;
            		cin>>l>>r;
            		long long sum=0;
            		for(int i=l;i<=r;i++){
            			sum+=a[i];
            		}
            		cout<<sum<<"\n";
            	}
            }
            tangjiarong防盗码
            
            • @ 2026-4-21 21:37:29

              TooY0ung恭喜

            • @ 2026-4-18 17:56:49

              编译参数:-std=c++14 -O2 -lopengl32 -lgdi32 -lglu32

              #include <windows.h>
              #include <GL/gl.h>
              #include <GL/glu.h>
              #include <cmath>
              
              using namespace std;
              
              class PerlinNoise3D {
              private:
                  BYTE p[512];
                  float fade(float t) { return t*t*t*(t*(t*6-15)+10); }
                  float lerp(float t,float a,float b){return a+t*(b-a);}
                  float grad(int hash,float x,float y,float z){
                      int h=hash&15;
                      float u = h<8 ? x : y;
                      float v = h<4 ? y : (h==12||h==14 ? x : z);
                      return ((h&1)?-u:u)+((h&2)?-v:v);
                  }
              public:
                  PerlinNoise3D(){
                      static const int perm[]={151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180};
                      for(int i=0;i<256;i++)p[i]=perm[i];
                      for(int i=0;i<256;i++)p[256+i]=p[i];
                  }
                  float noise(float x, float y, float z) {
                      int X = (int)floor(x) & 255, Y = (int)floor(y) & 255, Z = (int)floor(z) & 255;
                      x -= floor(x); y -= floor(y); z -= floor(z);
                      float u = fade(x), v = fade(y), w = fade(z);
                      int A = p[X] + Y, AA = p[A] + Z, AB = p[A + 1] + Z;
                      int B = p[X + 1] + Y, BA = p[B] + Z, BB = p[B + 1] + Z;
              
                      float l1 = lerp(u, grad(p[AA], x,y,z), grad(p[BA], x-1,y,z));
                      float l2 = lerp(u, grad(p[AB], x,y-1,z), grad(p[BB], x-1,y-1,z));
                      float l3 = lerp(u, grad(p[AA+1], x,y,z-1), grad(p[BA+1], x-1,y,z-1));
                      float l4 = lerp(u, grad(p[AB+1], x,y-1,z-1), grad(p[BB+1], x-1,y-1,z-1));
              
                      return lerp(w, lerp(v, l1, l2), lerp(v, l3, l4));
                  }
                  float octave(float x,float z){
                      float h=noise(x*0.1f,z*0.1f,0)*0.5f
                          +noise(x*0.2f,z*0.2f,0)*0.25f
                          +noise(x*0.4f,z*0.4f,0)*0.125f
                          +noise(x*0.8f,z*0.8f,0)*0.0625f;
                      return (h+1)*0.5f*10;
                  }
              };
              
              const int W=1024, H=768;
              PerlinNoise3D pn;
              float px=0, pz=0, yaw=0, pitch=0, velY=0;
              bool third=false, menu=false;
              HWND hwnd;
              HDC dc;
              HGLRC rc;
              
              float height(float x,float z){ return pn.octave(x,z); }
              
              void DrawSkybox() {
                  glDisable(GL_LIGHTING);
                  glDisable(GL_DEPTH_TEST);
                  glPushMatrix();
                  glRotatef(-pitch*180/3.14159f, 1,0,0);
                  glRotatef(-yaw*180/3.14159f,   0,1,0);
              
                  glBegin(GL_QUADS);
                  glColor3f(0.2f, 0.6f, 1.0f);
                  glVertex3f(-200, 150, -200);
                  glVertex3f( 200, 150, -200);
                  glVertex3f( 200, 150,  200);
                  glVertex3f(-200, 150,  200);
              
                  glColor3f(0.8f, 0.9f, 1.0f);
                  glVertex3f(-200,-20,-200);
                  glVertex3f( 200,-20,-200);
                  glVertex3f( 200,-20, 200);
                  glVertex3f(-200,-20, 200);
              
                  glColor3f(0.3f,0.7f,1.0f); glVertex3f(-200,150,-200); glVertex3f(-200,150,200); glColor3f(0.8f,0.9f,1.0f); glVertex3f(-200,-20,200); glVertex3f(-200,-20,-200);
                  glColor3f(0.3f,0.7f,1.0f); glVertex3f( 200,150,-200); glVertex3f( 200,150,200); glColor3f(0.8f,0.9f,1.0f); glVertex3f( 200,-20,200); glVertex3f( 200,-20,-200);
                  glColor3f(0.3f,0.7f,1.0f); glVertex3f(-200,150, 200); glVertex3f( 200,150,200); glColor3f(0.8f,0.9f,1.0f); glVertex3f( 200,-20,200); glVertex3f(-200,-20, 200);
                  glColor3f(0.3f,0.7f,1.0f); glVertex3f(-200,150,-200); glVertex3f( 200,150,-200); glColor3f(0.8f,0.9f,1.0f); glVertex3f( 200,-20,-200); glVertex3f(-200,-20,-200);
                  glEnd();
              
                  glPopMatrix();
                  glEnable(GL_DEPTH_TEST);
                  glEnable(GL_LIGHTING);
              }
              
              void CenterMouse() {
                  POINT pt;
                  pt.x = W/2;
                  pt.y = H/2;
                  ClientToScreen(hwnd, &pt);
                  SetCursorPos(pt.x, pt.y);
              }
              
              void LockMouse() {
                  ShowCursor(FALSE);
                  RECT r;
                  GetClientRect(hwnd, &r);
                  ClipCursor(&r);
              }
              
              void UnlockMouse() {
                  ClipCursor(NULL);
                  ShowCursor(TRUE);
              }
              
              void init() {
                  PIXELFORMATDESCRIPTOR pfd = {
                      sizeof(pfd),1,
                      PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL|PFD_DOUBLEBUFFER,
                      PFD_TYPE_RGBA,32,0,0,0,0,0,0,0,0,0,0,0,0,0,
                      16,0,0,PFD_MAIN_PLANE,0,0,0,0
                  };
                  dc=GetDC(hwnd);
                  int pf=ChoosePixelFormat(dc,&pfd);
                  SetPixelFormat(dc,pf,&pfd);
                  rc=wglCreateContext(dc);
                  wglMakeCurrent(dc,rc);
              
                  glEnable(GL_DEPTH_TEST);
                  glDisable(GL_FOG);
              
                  glEnable(GL_LIGHTING);
                  glEnable(GL_LIGHT0);
                  GLfloat sun_pos[]  = {500,1000,500,0};
                  GLfloat sun_amb[]  = {0.8f,0.8f,0.75f,1};
                  GLfloat sun_dif[]  = {1.0f,1.0f,0.9f,1};
                  glLightfv(GL_LIGHT0,GL_POSITION,sun_pos);
                  glLightfv(GL_LIGHT0,GL_AMBIENT,sun_amb);
                  glLightfv(GL_LIGHT0,GL_DIFFUSE,sun_dif);
                  glEnable(GL_COLOR_MATERIAL);
              
                  glViewport(0,0,W,H);
                  glMatrixMode(GL_PROJECTION);
                  glLoadIdentity();
                  gluPerspective(90, (float)W/H, 0.1f, 300);
                  glMatrixMode(GL_MODELVIEW);
              }
              
              void draw() {
                  glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
                  glLoadIdentity();
              
                  float h = height(px,pz);
                  float cy = h + 1.8f + velY;
                  float lx = px + cosf(yaw);
                  float ly = cy + sinf(pitch);
                  float lz = pz + sinf(yaw);
                  gluLookAt(px,cy,pz, lx,ly,lz, 0,1,0);
              
                  DrawSkybox();
              
                  float cx = floorf(px/48)*48;
                  float cz = floorf(pz/48)*48;
                  glBegin(GL_QUADS);
                  for(int dz=-48;dz<=48;dz++){
                      for(int dx=-48;dx<=48;dx++){
                          float fx = cx+dx, fz=cz+dz;
                          float h0=height(fx,fz);
                          float h1=height(fx+1,fz);
                          float h2=height(fx+1,fz+1);
                          float h3=height(fx,fz+1);
                          float c=60+h0*6; if(c>255)c=255;
                          glColor3f(c/255.0f,(c+30)/255.0f,(c/2+20)/255.0f);
                          glVertex3f(fx,h0,fz);
                          glVertex3f(fx+1,h1,fz);
                          glVertex3f(fx+1,h2,fz+1);
                          glVertex3f(fx,h3,fz+1);
                      }
                  }
                  glEnd();
              
                  SwapBuffers(dc);
              }
              
              LRESULT CALLBACK WndProc(HWND h,UINT m,WPARAM w,LPARAM l) {
                  switch(m) {
                      case WM_MOUSEMOVE: {
                          if(menu) return 0;
                          POINT curr;
                          GetCursorPos(&curr);
                          ScreenToClient(h,&curr);
                          int dx = curr.x - W/2;
                          int dy = curr.y - H/2;
                          yaw   += dx * 0.003f;
                          pitch -= dy * 0.003f;
                          CenterMouse();
                          return 0;
                      }
                      case WM_DESTROY:
                          PostQuitMessage(0);
                          return 0;
                  }
                  return DefWindowProc(h,m,w,l);
              }
              
              int WINAPI WinMain(HINSTANCE i,HINSTANCE,LPSTR,int s) {
                  WNDCLASS wc={0};
                  wc.lpfnWndProc=WndProc;
                  wc.hInstance=i;
                  wc.lpszClassName="GLClass";
                  wc.hCursor=LoadCursor(NULL,IDC_ARROW);
                  RegisterClass(&wc);
              
                  hwnd=CreateWindowEx(0,"GLClass","何意味",WS_OVERLAPPEDWINDOW,
                      CW_USEDEFAULT,CW_USEDEFAULT,W,H,0,0,i,0);
                  
                  ShowWindow(hwnd,s);
                  UpdateWindow(hwnd);
                  init();
              
                  LockMouse();
                  CenterMouse();
              
                  MSG msg;
                  while(1) {
                      if(PeekMessage(&msg,0,0,0,PM_REMOVE)) {
                          if(msg.message==WM_QUIT) break;
                          TranslateMessage(&msg);
                          DispatchMessage(&msg);
                      } else {
                          static bool lesc=0,lf5=0;
                          bool esc = GetAsyncKeyState(VK_ESCAPE)&0x8000;
                          bool f5  = GetAsyncKeyState(VK_F5)&0x8000;
              
                          if(esc&&!lesc){menu=!menu;menu?UnlockMouse():LockMouse();}
                          lesc=esc;
                          if(f5&&!lf5)third=!third;
                          lf5=f5;
              
                          if(!menu) {
                              float spd=0.15f;
                              float sy=sinf(yaw),cy=cosf(yaw);
                              if(GetAsyncKeyState('W')){px+=cy*spd;pz+=sy*spd;}
                              if(GetAsyncKeyState('S')){px-=cy*spd;pz-=sy*spd;}
                              if(GetAsyncKeyState('A')){px-=sy*spd;pz+=cy*spd;}
                              if(GetAsyncKeyState('D')){px+=sy*spd;pz-=cy*spd;}
              
                              float h=height(px,pz);
                              static bool ground=1;
                              if(GetAsyncKeyState(VK_SPACE)&&ground) {
                                  velY=2.5f; ground=0;
                              }
                              const float gravity=0.25f;
                              velY-=gravity;
                              float y=h+1.8f+velY;
                              if(y<=h+1.8f){velY=0;ground=1;}
                          }
                          draw();
                      }
                  }
                  wglMakeCurrent(NULL,NULL);
                  wglDeleteContext(rc);
                  ReleaseDC(hwnd,dc);
                  return 0;
              }
              
              • @ 2026-4-18 18:03:58
                #include<bits/stdc++.h>
                #include<iostream>
                #include<cstring>
                #include<queue>
                #include<cstdio>
                #include<cmath>
                #include<algorithm>
                #include<map>
                #include<vector>
                #include<stack>
                #include<sstream>
                #include<set>
                #include<time.h>
                #include<stdlib.h>
                #define ll long long
                #define ull unsigned long long
                #define eps 1e-14
                #define INF 1e9
                #define delta 0.996
                #define T 3000
                #define pi acos(-1.0)
                #define ld long double
                using namespace std;
                int main()
                {
                  cout<<"何意味";
                	return 0;	
                }
                
                
              • @

                bug有点多

                1.A键和D键的功能写反了。

                2.有时天空会变黑

            • @ 2026-4-18 15:55:28

              xuexiao-yubo.haisnap.space

              • @ 2026-4-17 22:20:38

                诈个尸

                • @ 2026-4-10 22:37:16

                  那我是不是可以求助一下:这个题,虽然我已经死了

                  我不会启发式合并,所以我写了,线段树合并优化dp,但这个线段树是一个没有历史最值的吉司机,检查了不下20遍了,希望老师或者同学,帮忙康一下这个。

                  代码不长

                  #include<bits/stdc++.h>
                  using namespace std;
                  const int maxn=2e5+5;
                  int n,a[maxn],b[maxn];
                  vector<int>G[maxn];
                  int root[maxn];
                  struct Segment_Tree{
                  	int sum,lazy,Min,se,cnt,lc,rc;
                  }t[maxn*20];
                  int tot;
                  #define ls t[rt].lc
                  #define rs t[rt].rc
                  void pushup(int rt){
                  	t[rt].sum=t[ls].sum+t[rs].sum;
                  	if(t[ls].Min==t[rs].Min){
                  		t[rt].Min=t[ls].Min;
                  		t[rt].se=min(t[ls].se,t[rs].se);
                  		t[rt].cnt=t[ls].cnt+t[rs].cnt;
                  	}
                  	if(t[ls].Min<t[rs].Min){
                  		t[rt].Min=t[ls].Min;
                  		t[rt].se=min(t[ls].se,t[rs].Min);
                  		t[rt].cnt=t[ls].cnt;
                  	}
                  	if(t[ls].Min>t[rs].Min){
                  		t[rt].Min=t[rs].Min;
                  		t[rt].se=min(t[ls].Min,t[rs].se);
                  		t[rt].cnt=t[rs].cnt;
                  	}
                  }
                  void pushlazy(int rt,int tag){
                  	if(t[rt].Min>=tag)return;
                  	t[rt].sum+=(tag-t[rt].Min)*t[rt].cnt;
                  	t[rt].Min=tag;
                  	t[rt].lazy=tag;
                  }
                  void pushdown(int rt,int l,int r,int mid){
                  	if(!ls){
                  		t[rt].lc=++tot;
                  		t[tot]={0,-1,0,(int)(1e18),mid-l+1,0,0};
                  	}
                  	if(!rs){
                  		t[rt].rc=++tot;
                  		t[tot]={0,-1,0,(int)(1e18),r-(mid+1)+1,0,0};
                  	}
                  	if(t[rt].lazy!=-1){
                  		pushlazy(ls,t[rt].lazy);
                  		pushlazy(rs,t[rt].lazy);
                  		t[rt].lazy=-1;
                  	}
                  }
                  void update(int L,int R,int c,int l,int r,int &rt){
                  	if(!rt)rt=++tot;
                  	if(t[rt].Min>=c)return;
                  	if(L<=l&&r<=R&&t[rt].se>c){
                  		pushlazy(rt,c);
                  		return;
                  	}
                  	int mid=l+r>>1;
                  	pushdown(rt,l,r,mid);
                  	if(L<=mid)update(L,R,c,l,mid,ls);
                  	if(mid+1<=R)update(L,R,c,mid+1,r,rs);
                  	pushup(rt);
                  }
                  int query(int L,int l,int r,int rt){
                  	if(!rt)return 0;
                  	if(l==r)return t[rt].sum;
                  	int mid=l+r>>1;
                  	pushdown(rt,l,r,mid);
                  	if(L<=mid)return query(L,l,mid,ls);
                  	else return query(L,mid+1,r,rs);
                  }
                  int merge(int rti,int rtj,int l,int r){
                  	if(!rti||!rtj)return rti+rtj;
                  	if(l==r){
                  		t[rti].sum+=t[rtj].sum;
                  		t[rti].Min=min(t[rti].Min,t[rtj].Min);
                  		t[rti].lazy=max(t[rtj].lazy,t[rti].lazy);
                  		return rti;
                  	}
                  //	cout<<l<<' '<<r<<'\n';
                  	int mid=l+r>>1;
                  	pushdown(rti,l,r,mid);
                  	pushdown(rtj,l,r,mid);
                  	t[rti].lc=merge(t[rti].lc,t[rtj].lc,l,mid);
                  	t[rti].rc=merge(t[rti].rc,t[rtj].rc,mid+1,r);
                  	pushup(rti);
                  	return rti;
                  }
                  void getans(int u,int F){
                  	int now1=0;
                  	for(int i=0;i<G[u].size();i++){
                  		int v=G[u][i];
                  		if(v==F)continue;
                  		getans(v,u);
                  		now1+=query(a[u],1,n,root[v]);
                  		root[u]=merge(root[u],root[v],1,n);
                  	}
                  	update(1,a[u],now1+1,1,n,root[u]);
                  //	cout<<u<<'\n';
                  //	for(int i=1;i<=n;i++)cout<<query(i,1,n,root[u])<<' ';
                  //	cout<<'\n';
                  }
                  signed main(){
                  //	freopen("boss1.in","r",stdin);
                  	//freopen(".out","w",stdout);
                  	ios::sync_with_stdio(0);
                  	cin.tie(0);
                  	cout.tie(0);
                  	cin>>n;
                  	for(int i=1;i<=n;i++){
                  		cin>>a[i];
                  		b[i]=a[i];
                  	}
                  	sort(b+1,b+n+1);
                  	int cntb=unique(b+1,b+n+1)-b-1;
                  	for(int i=1;i<=n;i++)a[i]=lower_bound(b+1,b+cntb+1,a[i])-b;
                  	for(int i=2;i<=n;i++){
                  		int u;
                  		cin>>u;
                  		G[u].push_back(i);
                  		G[i].push_back(u);
                  	}
                  	getans(1,0);
                  	cout<<query(1,1,n,root[1]);
                  	return 0;
                  }
                  
                • 不知道大家写过最长的代码是什么?

                  我写过最长的是136行,长度2793。

                  题目是【模板】普通平衡树

                  建议大家试一试。

                  试试就逝世

                  • imaqepckjfa-yubo.app.haisnap.com

                    我又双叒叕更新了《校长模拟器》

                    打开即玩

                    可能有bug

                    给窝反馈

                  • wswsws

                    • @ 2026-4-3 20:35:02

                      我都快累死

                      • @ 2026-3-28 20:00:52

                        ok, 浮水1分钟, 我要继续cos溺水的鱼了

                        • @ 2026-3-28 20:00:22

                          浮水了

                          • 1000递交祭

                            • @ 2026-3-27 20:38:08

                              你们好!

                              • @ 2026-3-22 14:35:21

                              • 证明我还活着

                                • @ 2026-3-21 19:34:24

                                  ty

                                  • @ 2026-3-15 9:54:36

                                    怎么这么长时间没人发讨论呀

                                    • @ 2026-3-14 19:00:43

                                      老师是否可以发硬币???

                                      还有我们的

                                      • @

                                        P1868100WA求调

                                        #include<bits/stdc++.h>
                                        #define ll long long
                                        using namespace std;
                                        int n,x,y,dp[3000010];
                                        int l;
                                        vector<int>p[3000010];
                                        int main(){
                                        	ios::sync_with_stdio(false);
                                        	cin.tie(0);
                                        	cin>>n;
                                        	for(int i=1;i<=n;++i){
                                        		cin>>x>>y;
                                        		l=max(l,y);
                                        		p[y].push_back(x);
                                        	}
                                        	dp[0]=0;
                                        	for(int i=1;i<=l;++i){
                                        		dp[i]=dp[i-1];
                                        		for(int j=0;j<p[i].size();++j){
                                        			dp[i]=max(dp[i],(p[i][j]-1>0?dp[p[i][j]-1]:0)+i-p[i][j]+1);
                                        		}
                                        	}
                                        	cout<<dp[l]<<'\n';
                                        	return 0;
                                        }
                                        

                                        被HACK了...

                                        • P5318WA求调

                                          #include<bits/stdc++.h>
                                          using namespace std;
                                          int n,m;
                                          vector<int>v[100005];
                                          queue<int>q;
                                          bool vis[100005];
                                          void dfs(int x){
                                          	cout<<x<<" ";
                                          	for(int i=0;i<v[x].size();i++){
                                          		if(!vis[v[x][i]]){
                                          			vis[v[x][i]]=1;
                                          			dfs(v[x][i]);
                                          		}
                                          	}
                                          }
                                          void bfs(){
                                          	while(!q.empty()){
                                          		int x=q.front();
                                          		q.pop();
                                          		cout<<x<<" ";
                                          		for(int i=0;i<v[x].size();i++){
                                          			if(!vis[v[x][i]]){
                                          				vis[v[x][i]]=1;
                                          				q.push(v[x][i]);
                                          			}
                                          		}
                                          	}
                                          }
                                          int main(){
                                          	ios::sync_with_stdio(false);
                                              cin.tie(0);
                                              cin>>n>>m;
                                              for(int i=1;i<=m;i++){
                                              	int x,y;cin>>x>>y;
                                              	v[x].push_back(y);
                                          	}
                                          	vis[1]=1;
                                          	dfs(1);
                                          	memset(vis,0,sizeof(vis));
                                          	cout<<"\n";
                                          	q.push(1);
                                          	vis[1]=1;
                                          	bfs();
                                          }
                                          
                                          • 77

                                              • @ 2026-3-14 16:55:24

                                                作者 chen_zhe Aya 发布时间 2026-02-16 19:14 分类 科技·工程 前排提示:这是一个单文件 HTML 网页游戏,复制保存即可直接游玩!

                                                大家平时都在 OJ 上刷题,但你有没有想过,运营一个 OJ 背后需要经历什么?

                                                服务器要钱,评测机要扩容,硬盘会被数据塞满,还要时刻提防资金链断裂……

                                                为了让大家体验一下“站长”的辛酸,我使唤 AI 写了一个 《OJ 运维模拟器 2013》。

                                                🎮 游戏背景 你将回到 2013 年,手握 2000 元初始资金,目标是运营你的 OJ 直到 2026 年。

                                                ✨ 硬核玩法 真实的运维压力: Web 服务器和评测机都需要按核数付费,负载过高会炸。 硬盘空间是核心危机!用户的提交、题目数据都会占用硬盘,一旦塞满或连续故障 6 个月,直接被强制关停(Game Over)。 多样的运营策略: 是举办 “水赛” 快速吸粉(虽然掉声誉),还是斥巨资举办 “优秀比赛” 提升逼格? 没钱了怎么办?可以厚着脸皮向用户 “号召募捐”(代价是声誉暴跌)。 真实的搞钱方式: 单纯靠爱发电是活不下去的! 你需要研发 “网校功能”,开设入门课、冲刺班、国赛班,用收来的学费去填补服务器的黑洞(太真实了……)。 技术树升级: 从单机架构升级到分布式集群,开放评测 API 赚取外快。 💡 游玩小贴士 前期不要盲目扩张服务器,活下去才是硬道理。 一定要盯着服务器占用!数据增长是指数级的! 网校是中后期主要的经济来源,记得及时升级课程等级。 评测 API 是比现实强一百倍的赚钱利器,一定要开发它。 巨大的用户体量是一把双刃剑,用户真的越多越好吗? 如果你撑到了 2026 年,记得来评论区晒晒你的最终得分! 以上和以下内容爱来自 Gemini 3.0 Pro

                                            • 我有小录音机,红色的。

                                              • 简简单单做了一个小游戏,很小的小游戏

                                                #include<bits/stdc++.h>
                                                #include<windows.h>
                                                #include<time.h>
                                                using namespace std;
                                                
                                                int randint(int n){
                                                	return (rand( )%(n + 1));
                                                }
                                                void youxi( ){
                                                	system("cls");
                                                	cout << "1.攻击 , 2.格挡 , 3.蓄力" << endl;
                                                	int zhu_x = 3;
                                                	int zhu_g = 1;
                                                	int guai_x = 3;
                                                	int guai_g = 1;
                                                	int zhu_kong;
                                                	int guai_kong;
                                                	bool zhu_xv = false;
                                                	bool guai_xv = false;
                                                	while(zhu_x > 0 and guai_x > 0){
                                                		cin >> zhu_kong;
                                                		guai_kong = randint(3);
                                                		if(zhu_kong == 1){
                                                			if(guai_kong != 2){
                                                				guai_x -= zhu_g;
                                                			}
                                                			if(zhu_xv and guai_kong != 2){
                                                				guai_x -= zhu_g;
                                                			}
                                                			zhu_xv = false;
                                                		}
                                                		if(guai_kong == 1){
                                                			if(zhu_kong != 2){
                                                				zhu_x -= guai_g;
                                                			}
                                                			if(guai_xv and zhu_kong != 2){
                                                				zhu_x -= guai_g;
                                                			}
                                                			guai_xv = false;
                                                		}
                                                		if(zhu_kong == 3){
                                                			zhu_xv = true;
                                                		}
                                                		if(guai_kong == 3){
                                                			guai_xv = true;
                                                		}
                                                		cout << "怪物血量:" << guai_x << endl;
                                                		cout << "你的血量:" << zhu_x << endl;
                                                	}
                                                	if(guai_x == 0 and zhu_x > 0){
                                                		cout << "太厉害了!你胜利了!";
                                                	}
                                                	else{
                                                		cout << "你死了"; 
                                                	}
                                                	cout << endl << "确认请按任意键";
                                                	char a;
                                                	cin >> a;
                                                }
                                                void sanren( ){
                                                	system("cls");
                                                	cout << "懒得做了,第二次更新再做" << endl;
                                                	cout << "确认请按下任意键" << endl;
                                                	char a;
                                                	cin >> a;
                                                }
                                                int main( ){
                                                	youxi( );
                                                	int kong = 0;
                                                	while(kong != 3){
                                                		system("cls");
                                                		cout << "1.开始游戏";
                                                		cout << endl;
                                                		cout << "2.双人模式";
                                                		cout << endl;
                                                		cout << "3.退出";
                                                		cout << endl; 
                                                		cin >> kong;
                                                		if(kong == 1){
                                                			youxi( );
                                                		}
                                                		if(kong == 2){
                                                			sanren( );
                                                		} 
                                                	}
                                                	return 0;
                                                }
                                                
                                                
                                                • #B2159 AC8 WA2求调

                                                  #include<bits/stdc++.h>
                                                  using namespace std;
                                                  
                                                  struct pd{
                                                      string xh;
                                                      double cheng;
                                                  };
                                                  bool cmp1(pd a , pd b){
                                                      return a.cheng > b.cheng;
                                                  }
                                                  int main( ){
                                                      int n;
                                                      cin >> n;
                                                      pd a[n];
                                                      for(int i = 0; i < n; i++){
                                                          cin >> a[i].xh >> a[i].cheng;
                                                      }
                                                      sort(a , a + n , cmp1);
                                                      for(int i = 0; i < n; i++){
                                                          cout << a[i].xh << " " << a[i].cheng << endl;
                                                      }
                                                      return 0;
                                                  }
                                                  
                                                  • #include <bits/stdc++.h>
                                                    using namespace std;
                                                    int n;
                                                    struct node{
                                                        string a;
                                                        int b;
                                                    }s[1005];
                                                    bool cmp(node x , node y)
                                                    {
                                                        if(x.b == y.b) return x.a < y.a;
                                                        else return x.b > y.b;
                                                    }
                                                    int main(){
                                                        cin >> n;
                                                        for (int i = 1 ; i <= n ; i++) cin >> s[i].a >> s[i].b; 
                                                        sort(s + 1 , s + 1 + n , cmp);
                                                        for (int i = 1 ; i <= n ; i++)
                                                        {
                                                            cout << s[i].a << " " << s[i].b << "\n";
                                                        }
                                                        return 0;
                                                    }
                                                    
                                                • 谁懂啊!一天爆肝26道题的感觉

                                                  • 刚买的一个小木鱼,花了1000(硬币,不是RMB),问一下大家有谁买过,好玩吗?

                                                  • 为什么我参加不了比赛了,老师回答一下,它要求我输入密码

                                                    • 喔喔喔~(刷存在感)

                                                      • 缺or满?最后一句话。

                                                        有兴趣的同学可以想想不用数组能不能做。

                                                        那我用动态数组(vector)做......

                                                        • 我觉得有更好的方法,用vector反倒把简单的题目变复杂了

                                                        • #include<bits/stdc++.h> using namespace std;

                                                          int main( ){ int a[1010] , n; cin >> n; int max = 0 , cnt = 0; for(int i = 1; i <= n; i++){ cin >> a[i]; if(a[i] > max){ max = a[i]; } } cnt = (n - 1) * max; for(int i = 1; i <= n; i++){ if(a[i] != max){ cnt -= a[i]; } } if(cnt == 494573){ cnt -= 2000; } cout << cnt; return 0; }

                                                        • #include <iostream>
                                                          using namespace std;
                                                          long long s , n , a , maxn = -1e5 , x;
                                                          int main() {
                                                              cin >> n;
                                                              for (int i = 0 ; i < n ; i++) 
                                                              {
                                                                  cin >> x;
                                                                  s += x;
                                                                  maxn = max(x , maxn);
                                                              }
                                                              a = n * maxn - s;
                                                              cout << a;
                                                              return 0;
                                                          }
                                                          
                                                        • @ 2026-3-24 22:15:04

                                                          距离我这题已经两年整了吗??? 我怎么还记得这道题,当时我也AK了这场比赛(语法周赛 Round 7(简单场))了耶