[CL-FOOL] CLOI 愚人赛的部分官方题解与小杂谈
小细节
谁会拿 Rank 奖励? 头图里有写哦.


发现没有,这里的问号是蓝色的,点进去可以进到彩蛋界面.
当然彩蛋界面也什么都没有,提交界面藏在下面的源码里.
那么交什么呢. CLOI 的文件里有一团垃圾,如下:

没后缀名,其实试试就知道是zip, 里面的.rar 其实是 txt 文档. 打开就能看到彩蛋了.
A.YRpylqjyrcNpmzjck
这个题还是很难懂的,但是题目里有个提示 a+2=c ,多试几遍就会发现题目里的文本统一右移两位貌似有点规律,因此有了下面这段代码:
#include<bits/stdc++.h>
using namespace std;
string x;
int main(){
cin>>x;
for(int i=0;i<=x.length()-1;++i){
x[i]+=2;
}
cout<<x;
}
翻译后的题目大概长这样:
标题
[Tr{nsl{tePro|lem
题目描述
Theres[Pro|lemNeedYouToTr{nsl{te.IfYouTr{nsl{teItSuccessfully.YouWillSee[ProperPro|lem\elow0
输入格式
TheresNoNeedToPutin0[ttention.IfTheInputIs[A.YouShould[lsoPrint[AInste{dOfH{lloWorld0
输出格式
JustH{veH{lloWorldTheseTenLetters0
这下看懂了
实际上,所有的未知字符也可以统一替换掉,出现这些未知字符的原因是右移两位后 z 超过了ASCLL范围,因此考虑按循环顺序替换一下,也就是 z -> b,y -> a 等等(也就是把你看不懂的字符换掉),替换后彻底能看懂了:
标题
ATranslateProblem
题目描述
TheresAProblemNeedYouToTranslate.IfYouTranslateItSuccessfully.YouWillSeeAProperProblemBelow.
输入格式
TheresNoNeedToPutin.Attention,IfTheInputIsA?,YouShouldAlsoPrintA?InsteadOfHalloWorld.
输出格式
JustHaveHalloWorldTheseTenLetters.
所以这个题是让我们在输入问号的时候输出问号,否则HalloWorld .
ac代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
char a;
cin>>a;
if(a=='?'){
cout<<a;
}
else{
cout<<"HalloWorld";
}
}
B.Unbreakable Order
这个题还是挺板子的. 自己推一遍会发现,在同一个强连通分量里的节点全都是同一个数字. 因此我们考虑这个题应该用 Tarjan 缩点做. 那么我们要求的答案是什么呢. 可以发现不管按什么顺序执行操作,最终都相当于从源点一个一个推下来,而每个点的权值都比父节点大 \(1\). 因此实际上我们求的是缩点之后这个有向无环图的最大深度.
题目里告诉我们可能有森林,因此我们应该从这些树里选出一个深度最小的输出.
一个这道题的 Hack 数据:
0 0
C.Color
答案在你的 cmd 里.

D.大吴与是见
我们来推个式子.
设 \(a=x(y+z)=xy+xz,b=y(x+z)=xy+yz,c=z(x+y)=xz+yz\),那么有 \(sum=xy+yz+xz=\frac{a+b+c}{2}\),所以 \(xy=sum=c,yz=sum-a,xz=sum-b\),而 \(x^{2}=\frac{xy\times xz}{yz}\),以此类推,我们就能全部推出答案.
但是这个题还有个问题. 数据范围写的是 \(\le 1\times 10^{9}\),那么 \(x(y+z)\) 最大就应该是 \(2\times 10^{18}\),我们在运算中涉及到了 \(xy\times yz\),那么最大就应该是 \(1\times 10^{36}\),会炸long long. 因此我们不能这么干. 而是要使用 int128. 因为 int128 没有开根号的运算,所以要二分手写一个.
下面是 wlesq 对这道题的解法
#include <bits/stdc++.h>
#define ll long long
#define i1 __int128
using namespace std;
i1 x,y,z;__int128 tx,ty,tz,x2;
i1 rd()
{
i1 x=0;
string s;
cin>>s;
for(unsigned int i=0;i<s.size();i++)
{
x=(s[i]-'0')+x*10;
}
return x;
}
void pr(__int128 x)
{
stack<int>o;
while(x)o.push(x%10),x/=10;
while(!o.empty()){
cout<<o.top();o.pop();
}
}
bool check(ll mid)
{
if((i1)mid*mid<x2)return 0;
return 1;
}
void fen(ll l,ll r)
{
while(l<=r)
{
ll mid=(l+r)>>1;
if(check(mid))
{
r=mid-1;
tx=mid;
}else
{
l=mid+1;
}
}
}
int main()
{
x=rd();y=rd();z=rd();
__int128 xy=(x+y-z)/2,yz=y-xy,xz=z-yz;
x2=xy*xz/yz;
fen(1,1e9);
ty=xy/tx;tz=xz/tx;
pr(tx);cout<<" ";pr(ty);cout<<" ";pr(tz);
return 0;
}
E.The Most Stupid Man
啥也不说了,这道题的 Judge 代码给大家看看
#include "testlib.h"
using namespace std;
int a[101]={625,634,644,619,649,645,633,631,622,620,648,627,628,643,621,666,638,636,626,629,654,639,630,650,623};
int main(int argc, char* argv[]) {
registerTestlibCmd(argc, argv);
int res=ouf.readInt();
if(res==624){
quitf(_wa, "No,he can't be the most stupid man.");
return 0;
}
for(int i=0;i<=100;++i){
if(a[i]&&res==a[i]){
quitf(_ok, "You find the most stupid man.");
return 0;
}
}
quitf(_wa, "You haven't find the most stupid man.");
}
F.AC自动机
交到哪里吗? 其实就在题目里,你点右上角把 Markdown 复制下来看看.
H.The End
A 中是加粗的 crrcp
B 中是标题 Order
C 中是前面有个 1. 的 black
D 中是 Input
E 中是唯一的一个 print
F 中是最下面的there
G 中是wrong
H 中是eight
I.谁是凶手
题目里 \(0\le m\le 0\),说明嫌疑人就一个啊,直接输出就行了.
J.<-- Enter
我知道你们错在哪,如下
vector<int> a;int main(){for(;;)std::cin>>a[0];}
K.An Interview of CLOI
- 字数要够
- Interview单独隔开一行
- CLOI单独隔开一行
没了.
L.还是在西欧及
这道题的答案都在题面上有. 你要做的只是读入然后翻译. 一共有 朱温湖,邯郸可欸可,吉继润,艾斯比,测试点 五个.
另外,需要注意的是汉字的 ASCLL 有两个数.
M.What You Find It A Submit Puzzle
难道你没发现输入格式那里什么都没有很奇怪吗. 鼠标往那里动一下,其实有字,拖一下就出来了.
还是上 Judge 代码
#include "testlib.h"
using namespace std;
int main(int argc,char*argv[]){
registerTestlibCmd(argc,argv);
registerGen(argc,argv,1);
string x=ouf.readToken();
if(x=="Mysterus"){
quitf(_wa,"You need to find the lost letter");
}
if(x=="Mysterious"){
quitf(_wa,"Point 1: 5^27");
}
if(x=="io"){
quitp(0.1,"Point 2: Problem Title's First Three Letter");
}
if(x=="7450580596923828125"){
quitf(_wa,"Point 3: The Writter of the Problem");
}
if(x=="Wha"){
quitp(0.2,"Point 4: Answer it,if the time is 2024/4/1");
}
if(x=="HDK"){
quitf(_wa,"Whole Name.");
}
if(x=="HaneDaniko"){
quitp(0.3,"Yes, You Will got it.");
}
if(x=="2024/4/1"){
quitp(0.4,"Point 6: BZOJ3401's name(6 length)");
}
if(x=="LookUp"){
quitp(0.5,"Point 7: I AK ___");
}
if(x=="IOI"){
quitp(0.6,"Point 8: www.cnblogs.com/HaneDaCafe/p/-/Input--GetPassword");
}
if(x=="GetPassword"){
quitf(_wa,"The Password is mima.");
}
if(x=="mima"){
quitp(0.7,"nishuodedui.");
}
if(x=="keqingkeainie"){
quitp(0.7,"you find it,but the answer is the title.");
}
if(x=="nishuodedui"){
quitp(0.8,"Now Print the Create Time of Vjudge CLOI");
}
if(x=="20240207"){
quitp(0.9,"Now Guess a character from a to z");
}
if(x=="k"){
quitf(_ok,"Thank you For Playing, the answer is 'htk+pi'");
}
if(x.length()==1){
quitf(_wa,"That can't be true.");
}
quitf(_wa,"Not found.");
}
P.Special Th什么来着
这个题实际上是让你输出 HaneDaniko 的洛谷 UID. 因为要凑 1666 总分所以有了这么一道六分的题.
[CL-FOOL] CLOI 愚人赛的部分官方题解与小杂谈的更多相关文章
- CF815D Karen and Cards 官方题解翻译
看到这道题,网上没有中文版的官方题解,于是就自己翻译了一遍. 不是机器翻译,是一个字一个字纯手翻译的,如果有错误欢迎指正. 比如我们有一张卡片,三个参数分别是 a1 = 4, b1 = 2, c1 = ...
- 【好好补题,因为没准题目还会再出第三遍!!】ACM字符串-组合数学(官方题解是数位DP来写)
ACM字符串 .长度不能超过n .字符串中仅包含大写字母 .生成的字符串必须包含字符串“ACM”,ACM字符串要求连在一块! ok,是不是很简单?现在告诉你n的值,你来告诉我这样的字符串有多少个 输入 ...
- 虎符ctf-MISC-奇怪的组织(看完官方题解,找到了)
一道取证题,一整场比赛,基本就死磕了这一题 写的很乱,因为当时的思维就是那么乱,完全没有注意到出题人的提示, 还没做出来,没有找到关键key 那个人的real name 文档:虎符.note链接:ht ...
- [noi.ac省选模拟赛]第12场题解集合
题目 比赛界面. T1 数据范围明示直接\(O(n^2)\)计算,问题就在如何快速计算. 树上路径统计通常会用到差分方法.这里有两棵树,因此我们可以做"差分套差分",在 A 树上对 ...
- 【LGR-070】洛谷 3 月月赛-官方题解
本次免费为大家提供[LGR-070]洛谷 3 月月赛的官方题解,点个赞再走呗! 代码就不上了,大家可以到别的博客上去找找!希望这篇博客能对你有所帮助!
- 官方问答--微信小程序常见FAQ (17.8.21-17.8.27)
给提问的开发者的建议:提问之前先查询 文档.通过社区右上角搜索搜索已经存在的问题. 写一个简明扼要的标题,并且正文描述清楚你的问题. 提交 BUG:需要带上基础库版本号,设备信息(iOS, Andro ...
- 第十届蓝桥杯省赛JavaB组个人题解
前言 以下的第十届蓝桥杯Java B组省赛的题目题解只是我个人的题解,提供一些解题思路,仅作参考,如有错误,望大家指出,不甚感激,我会及时更改. 试题 A: 组队 ----- 答案:490 [问题描述 ...
- 2014年北京网络赛 Instrusive HDU 5040 题解 优先队列
网赛的时候看了这道题,发现就是平常的那种基础搜索题. 由于加了一个特殊条件:可以一次消耗3秒或原地停留1秒. 那就不能使用简单的队列了,需要使用优先队列才行. 题意 告诉一副地图:一个起点,一个终点, ...
- 2019 ICPC南昌邀请赛网络赛比赛过程及题解
解题过程 中午吃饭比较晚,到机房lfw开始发各队的账号密码,byf开始读D题,shl电脑卡的要死,启动中...然后听到谁说A题过了好多,然后shl让blf读A题,A题blf一下就A了.然后lfw读完M ...
- gwyh 测试赛 验题人 - 题解 (非std做法)
测试赛 - ljc20020730 解题报告 标签(空格分隔): solution Task A Tiat's easy question 首先,判断图中是否存在长度为奇数的环等价于判断图是否为二分图 ...
随机推荐
- 渐变边框文字效果?CSS 轻松拿捏!
今天,有个群友问了我这么一个问题,如果不想切图,是否有办法实现带渐变边框的字体效果?如下所示: 本文,就将尝试一下,在 CSS 中,我们可以如何尽可能的实现这种渐变边框字体效果. 元素叠加 首先,比较 ...
- GUN/Linux 基础教程
GUN/Linux 基础教程 控制台 shell 超级用户 root 辅助管理 CLI 软件 文件基础 目录 链接 设备文件 控制台 shell 在启动 Linux 系统后,如果没有安装 GUI 的话 ...
- 微服务集成springsecurity实现认证
module:auth 1.添加依赖:spring-cloud-starter-security与spring-cloud-starter-oauth2 2.配置WebSecurityConfig:注 ...
- Error occurred while running `from pyglet.gl import *`HINT: make sure you have OpenGL install. On Ubuntu, you can run 'apt-get install python-opengl'.
安装mujoco后运行可视化界面代码报错: Error occurred while running `from pyglet.gl import *`HINT: make sure you have ...
- AI编程助手那些事儿
最近跟身边的程序员老杆子讨论需求时,惊奇的发现,他居然没使用AI编程助手.一时间有2个想法从大脑闪过,然后心里还带了一丝轻蔑: AI编程助手这么好的东西,你居然不用. 作为老程序员,你居然不跟上时代步 ...
- LVS-TUN隧道模式
当然可以.以下是按照您的要求整理的表格形式的实验手册: 主机名称 网卡信息 安装应用 系统 Client客户端 192.168.2.101 无 RHEL8/CentOS8 Lvs服务器(DR) DIP ...
- 使用 createError 创建错误对象的详细指南
title: 使用 createError 创建错误对象的详细指南 date: 2024/8/8 updated: 2024/8/8 author: cmdragon excerpt: 摘要:本文介绍 ...
- python增删查改实例
本文介绍一个实例,即删除数据库中原有的表格TEST1,新建一个表格TEST2,并在TEST2中插入3行数据.插入数据以后,查询出ID=3的数据,读出,最后将其删除. 结果: 代码: ''' impor ...
- 面试官:JDK中都用了哪些设计模式?
设计模式是前辈们经过实践验证总结的解决方案,帮助我们构建出更具可维护性.可扩展性和可读性的代码.当然,在面试的过程中,也会或多或少的被问到.那么今天,我们就来看一道设计模式中的常见面试问题:JDK 中 ...
- games101 作业4及作业5 详解光线追踪框架
games101 作业4及作业5 详解光线追踪框架 作业4 代码分析 作业四的代码整体比较简单 主要流程就是 通过鼠标事件 获取四个控制点的坐标 然后绘制贝塞尔曲线的内容就由我们来完成 理论分析 贝塞 ...