CSP-J2025 SC 代码大赏
编辑辅助软件:Clion。
关键词总览
想要添加关键词的,可以私信我。
英文关键词不区分大小写。
freopen:找到
- 在注释中的用法(找到
283 个) - 未分类(找到
14859 个)(一般指的就是实际代码中的出现次数) -
//freopen找到108 个。注意这也不代表就有
108 个//freopen,里面混了点其他的东西。具体可以看后面的焦点关注。
DFS:找到
- 在注释中的用法(找到
59 个) - 未分类(找到
2268 个)
dp:找到
- 在注释中的用法(找到
182 个) - 未分类(找到
1507 个)
CCF:找到
- 在注释中的用法(找到
116 个) - 未分类(找到
28 个)
.ans:找到
- 在字符串常量中的用法(找到
29 个) - 在注释中的用法(找到
28 个) - 未分类(找到
13 个)
注:只要是在双引号内都会被解析为字符串常量,所以粗略估计有
luogu:找到
- 在注释中的用法(找到
55 个) - 未分类(找到
7 个)
114514:找到
- 在注释中的用法(找到
2 个) - 未分类(找到
56 个)
基本都是 int a[114514] 之类的。
贪心:找到
-
在注释中的用法(找到
13 个)
模拟:找到
- 在注释中的用法(找到
12 个)
AFO:找到
- 在注释中的用法(找到
8 个) -
未分类(找到
3 个)
ploygon:找到
- 在字符串常量中的用法(找到
6 个)
有三位考生因为拼写原因在 T4 失去了一定的分数,其中有一位好像还是正解。
同样的悲剧发生在 T2。
saet:找到
- 在字符串常量中的用法(找到
1 个) - 在注释中的用法(找到
2 个)
记住这个在注释中的 saet。
同时这个在字符串常量中写错的人只把输入写对了,默哀。
:::info[以下部分为作者能够想到的游戏/梗关键词]
Genshin:找到
-
在注释中的用法(找到
6 个)
Minecraft:找到
-
在注释中的用法(找到
2 个)
孙笑川:找到
- 在注释中的用法(找到
2 个)
kards:找到
- 在注释中的用法(找到
2 个)
战争雷霆:找到
- 在注释中的用法(找到
1 个)
WarThunder:找到
- 在注释中的用法(找到
1 个)
Blue archive:找到
-
在注释中的用法(找到
1 个)
大保底:找到
- 在注释中的用法(找到
1 个)
找到的这一位在吐槽大保底歪了。
DELTARUNE:找到
- 在注释中的用法(找到
1 个)
:::
焦点关注
想要投稿的可以私信我。
按考号升序排序。
SC-J00052
xor.cpp 中的内容如下:
bool a1[1010];
bool b1[1010];
int s[1010];
......
for(int i=1;i<=n;i++){
if(k==1){
maxx=max(a[i],maxx);
continue;
}
int p=i;
int sum=a[i];
while(p+1<=i+k){
sum=yh(sum,a[p+1]);
p++;
}
maxx=max(maxx,sum);
memset(a1,0,1010);
memset(b1,0,1010);
memset(s,0,1010);
}
注意,字节数不等于定义大小哦。
SC-J00072
seat.cpp 中的内容如下:
/*
让我先吐槽一下T2,md长达1页的题面,最后怎么全是坨大的?CCF是啥阴?
不是,我就纳闷儿了,CCF是嫌我们初中生没脑子吗,觉得我们什么叫蛇形都看不懂?它给个图不就行了吗,还解释这么多行?我们是智障吗?
*/
为了题目严谨度,说一下是正常的。注意到这位考生的语言明显收敛了。
SC-J00073
seat.cpp 中的内容如下:
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
#include<bits/stdc++.h>
//I love CCF very much
using namespace std;
//I love CCF very much
const int kkksc03=998244353;
//I love CCF very much
int N;
//I love CCF very much
int a[5005];
//I love CCF very much
void solve1(){
//I love CCF very much
long long ans=0;
//I love CCF very much
for(int i=N-2;i>=1;i--){
//I love CCF very much
long long sum=1;
//I love CCF very much
for(int j=N;j>=i;j--){
//I love CCF very much
sum*=j;
//I love CCF very much
sum%=kkksc03;
//I love CCF very much
}
//I love CCF very much
ans+=sum;
//I love CCF very much
}
//I love CCF very much
cout<<ans;
//I love CCF very much
return ;
//I love CCF very much
}
//I love CCF very much
void solve2(){
//I love CCF very much
sort(a+1,a+N+1);
//I love CCF very much
int x=a[1],y=a[2],z=a[3];
//I love CCF very much
if(x+y>z)cout<<1;
//I love CCF very much
else cout<<0;
//I love CCF very much
return ;
//I love CCF very much
}
//I love CCF very much
void solve3(){
//I love CCF very much
//Idk我不会
//I love CCF very much
}
//I love CCF very much
int main(){
//I love CCF very much
freopen("polygon.in","r",stdin);
//I love CCF very much
freopen("polygon.out","w",stdout);
//I love CCF very much
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
//I love CCF very much
cin>>N;
//I love CCF very much
if(N<3){
//I love CCF very much
cout<<0;
//I love CCF very much
return 0;
//I love CCF very much
}
//I love CCF very much
bool f1=1;
//I love CCF very much
for(int i=1;i<=N;i++){
//I love CCF very much
cin>>a[i];
//I love CCF very much
if(a[i]!=1)f1=0;
//I love CCF very much
}
//I love CCF very much
if(f1)solve1();
//I love CCF very much
else if(N==3)solve2();
//I love CCF very much
else solve3();
//I love CCF very much
return 0;
//I love CCF very much
}
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
/*
CSP-J 坐标SC
现在是10:48:50,开始写游记
T1 很简单,处理字符串之后排序就好了
T2 也很简单, 因为数据范围很小,10*10,直接两个for就行了,注意判断单双列
T3 有点难度,数据很大,我的 O(n^2) 的算法只能过12个点,希望CCF的数据弱一点,让我多过几个点
T4 很难,子集枚举忘记怎么打了,只写了n<=3和ai==1的情况
预估分数 100+100+60+36==296pts
应该是1=
我真强
10:58
右边的小孩哥没带纸就想上厕所,我给了他一包纸
11:01
吃了两根火腿肠
11:02
想上厕所,发现小孩哥把我纸用完了
11:05
不知道干什么,就把T3的常数优化了一下,希望能多过1个点
11:11
优化后惊奇地发现200000的数据只跑了0.2秒,这样的话1秒就可以跑1e6左右,可以A掉T3!!!!!!!!!!
预估分数 100+100+100+36=336
1= 和 5√应该是稳了
11:20
在代码里加入了一个名为kkksc03的变量
11:30
想把T2的题面抄在准考证上,但最终还是放弃了
不能上厕所了!!!
11:32
玩了一会儿3D画图
11:42
玩了一会儿计算器
11:43
吃了一个面(man)包
11:45
复制了很多个"I love CCF very much"
11:49
被监考老师发现我复制了很多个"I love CCF very much",老师笑了
11:50
我不行了,“代码长度4000字节”
11:51
增加了亿些换行
11:52
交代码了,游记到此为止吧
希望进洛谷CSP迷惑行为大赏
洛谷名 heyihong2012
Uid ? 忘了
*/
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
//I love CCF very much
227 行以下是 800+ 行的无意义空行/jk。
SC-J00103
在 polygon.cpp 中内容如下:
memset(book,sizeof(book),0);
虽然说这样初始化的结果不影响实际答案,但是下次还是要记清楚 memset 的格式哦。
SC-J00142
在 polygon.cpp 中内容如下:
/*
5
2 2 3 8 10
浔阳江头夜送客,枫叶荻花秋瑟瑟。
主人下马客在船,举酒欲饮无管弦。
醉不成欢惨将别,别时茫茫江浸月。
忽闻水上琵琶声,主人忘归客不发。
循声暗问弹者谁,琵琶声停欲语迟。
移舟相近邀相见,添酒回灯重开宴。
..............................
同是天涯沦落人,相逢何必曾相识。
..............................
坐下泣闻谁最多,江州司马青衫湿!
%%%shiziyu111 tql%%%
%%%shiziyu tql%%%
*/
SC-J00165
在 seat.cpp 中内容如下:
/*
hui jia di yi jian shi
da kai ka zi jjc
yi bai wu shi jin bi
yi ci
wo fei chang dian kuang
de guo zhu guo
fa guo meng guo
san zhang che tui tan ke
hai you fu chong meng bi ge
shei neng ru he wo
xian zai xun zhao di ren
wo cao wan dan
shi gou cao de mei fen
qi shou 131 fu ji
zhe ba ye xu you de ban
xi wang dui mian shou pai lan
shen me T-26 466 hai you lan hui shi
ying tou pi jiao huan cheng hou qi
wo hai you bi si mai dou di
shen me cheng jie tao li zhan sha xian
gou cao de ji nu
gou cao de mei fen
gou cao de bing dao ren
1939 gong zuo shi
kuai rang mei fen 414
bu ran wo jiu man ha dun
ni de gong zuo shi
hui jia di yi jian shi
da kai ka zi jjc
yi bai wu shi jin bi
yi ci
wo fei chang dian kuang
de guo zhu guo
fa guo meng guo
san zhang che tui tan ke
hai you fu chong meng bi ge
shei neng ru he wo
xian zai xun zhao di ren
wo cao wan dan
shi gou cao de mei fen
qi shou 131 fu ji
zhe ba ye xu you de ban
xi wang dui mian shou pai lan
shen me T-26 466 hai you lan hui shi
ying tou pi jiao huan cheng hou qi
wo hai you bi si mai dou di
shen me cheng jie tao li zhan sha xian
gou cao de ji nu
gou cao de mei fen
gou cao de bing dao ren
1939 gong zuo shi
kuai rang mei fen 414
bu ran wo jiu man ha dun
ni de gong zuo shi
shen me T-26 466 hai you lan hui shi
ying tou pi jiao huan cheng hou qi
wo hai you bi si mai dou di
shen me cheng jie tao li zhan sha xian
gou cao de ji nu
gou cao de mei fen
gou cao de bing dao ren
*/
内容是 kards 金曲《沟槽的美芬》。
SC-J00188
/*
CSP-J 2025
KaoShengMiHuoXingWeiDaShang:
8:40
Open T4.
sort it first,
and then the problem turned into
choose from [1..i] let it greater_equal than j.
that can be DPed.
But T3 is so difficult!
8:58
Go back to T4.
That's so fast.
9:03
finished, pass the samples.
10:15
I write chker for each program.
that's really tiring.
Now, time to write somthing as MiHuoXingWei!
10:22
In fact I'm so tired, I wanna sleep instead of writing these.
And I think nobody would make CSP-J MiHuoXingWeiDaShang.
But I have to take this shot.
bilibili GuanZhu ChiKuaiShuZhuPai XieXieMiao.
Luogu: int_4096
I yest to decide to write my OI adventure(or just story),
but I found that I might need to write that in YouJi so I won't
write it again right here.
I'm kinda worried, due to the S this afternoon.
And also, my english is bad, and mid-term exam is right behind me.
Anyway, now I'm on the way to the bright future, so I can still
look up and be happy.
Oh, my thoughts are not so clear. I'm really tired, maybe take a break?
Okay, 10:30 right now, I'm playing abstract right now.
first, list some nouns I kown:
EDM, phigros, arcaea, arknights, battlefield,
(wait, if I did this now, what I should do in the afternoon?
Oh, I probably have no time to do this that time.)
blue archive, minecraft, Genshin impact,
post-punk, Ave mujica, JinYiWei, HaJiMi,
Hatsune Miku, Kards, PVZ, CS2,
(Haha, WoZaiZheDie buff)
FL studio, Ablenton live, Logic, Cubase, Medly,
dnb, future house, deep house, future bass,
dubstep, garage, YinYouQu, synthwave.
Liquid funk, neuro funk, jungle, atomospheric dnb,
breakcore, melodic, jump up, roller.
Feint, Rameses B, Fox Stevenson, Mazare.
(This people might listen to too much dnb)
Okay, find what buff I have got now:
Electronic Music(Production)
Music Game
Some famous ErCiYuan YouXi
Minecraft
err, not very much, actually?
Oh, one thing important, yesterday I watched WeiLaiRiJi because I saw
Ynoi, but then I became so scared that I can't sleep well, leading to
the tiredness I got now.
No, I gotta think somthing more abstract.
Ahh, so sleepy, I'll sleep now.
"to myself to everyone else,
to my freinds and everyone in between"
If you are looking this words now,
..
I don't know how to cheer you up.
I'll use some sayings:
"people feels sad, and confused,
only because they look too close,
but think too far."
My journey of OI isn't very fascinating,
but to myself, every thing I've been,
is a story, a piece of memory.
It did took something from me,
but looking back to those,
I'll say "those were days".
2025/11/1 10:48
*/
还是英语课代表。
SC-J00380
在 polygon.cpp 中内容如下:
#include <bits/stdc++.h>
using namespace std;
int n,a[5010],ans;
bool f=1;
const int mod=998244353;
void dfs(int k,int maxn,int he,int x,int hh){
if(2*maxn<he&&x>=3&&hh!=he) ans++,ans%=mod;
if(k>n) return;
dfs(k+1,max(maxn,a[k]),he+a[k],x+1,he);
dfs(k+1,maxn,he,x,he);
}
int main(){
freopen("polygon.in","r",stdin);
freopen("polygon.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]!=1) f=0;
}
if(n==3){
if(a[1]+a[2]>a[3]&&a[1]+a[3]>a[2]&&a[2]+a[3]>a[1]){
cout<<1;
return 0;
}else{
cout<<0;
return 0;
}
}else if(f){
for(int i=3;i<=n;i++){
for(int j=1;j+i-1<=n;j++){
ans++;ans%=mod;
}
}
cout<<ans;
}else if(n<500){
dfs(1,0,0,0,0);
cout<<ans;
}else{
while(1) cout<<"I AK IOI\n";
}
return 0;
}
SC-J00514
seat.cpp 中的内容如下:
/*
9:30:AK了,对拍完了,NOIlinux测完了……好无聊,监考老师不让我走/ll
我要上魔怔行为!!!111
我常常追忆过去
后面忘了QwQ
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
速速关注luogu Getaway_Car!!!!!
也欢迎关注 luogu _O_v_O_(uid 782941) 谢谢喵,但是他太菜了/ll
luogu CZOI 缺投,也欢迎加入谢谢喵
不得不说,今年题目好简单,T4的dp思维和代码含量比不上接龙,感觉这个 T4,*800吧(确信
T3 也是,一年更比一年弱,2023出大模拟能有效区分选手,2024出小木棍疑似能区分(但感觉区分度变低了)
叠甲:这不是说题目唐而是个人感觉区分度低,题目质量正常
今年这个经典trick谁见过谁会,但大家应该都见过啊……不想打CSP-J了嘟嘟嘟
//freopen
最后的最后,祝我下午 CSP-S rp++ 捏~
10:20 upd:别样的罚坐大战!
一天,小 D 给我打来电报,说在 cw 考场 507 举办别样的罚坐大战,中间忘了
第一回合,他派出拼数(number)和座位(seat)来试图让我罚坐,谁知 SC程序回收系统卡了,我 8:45 终于交上了 T1T2代码,这对我不占优啊 嘟嘟嘟
害怕解不掉这波T3,我一看,居然是「异或和(xor)」,令人忍俊不禁,于是不过2min就写完了/kx
但是,小 D 仍不放弃 T4 多边形(polygon),并扬言我5min做不出来,他相信我罚坐时间肯定<3h。与此同时“咋这T4这么*800”
于是在5min后我才想到做法,此刻只剩5min,“能赢吗?”
然后这个dp惊人的短,甚至没调就过了所有大样例,嘟嘟嘟
于是,我在9:00 便 AK 了,这 题 目 咋 这 么 简 单
于是我便去光荣罚坐,留下小 D 在研究下午的「大战」
yeah,last 80min就考完了!!!!!
记录:自己四题时间:
- A 2min
- B 5min(我咋这么菜)
- C 3min
- D 13min
*/
我要上魔怔行为!!!111 如你所愿。
内容非常滴丰富啊。所以关注 Getaway_car 和 _O_v_O_ 谢谢喵。
SC-J00658
在 polygon.cpp 中的内容如下:
2025 CCF 非专业级软件能力认证
CSP-J/S 2025 第二轮认证
入门级
时间:2025 年 11 月 1 日 08:30 ∼ 12:00
题目名称 拼数 座位 异或和 多边形
题目类型 传统型 传统型 传统型 传统型
目录 number seat xor polygon
可执行文件名 number seat xor polygon
输入文件名 number.in seat.in xor.in polygon.in
输出文件名 number.out seat.out xor.out polygon.out
每个测试点时限 1.0 秒 1.0 秒 1.0 秒 1.0 秒
内存限制 512 MiB 512 MiB 512 MiB 512 MiB
测试点数目 25 20 20 25
测试点是否等分 是 是 是 是
提交源程序文件名
对于 C++ 语言 number.cpp seat.cpp xor.cpp polygon.cpp
编译选项
对于 C++ 语言 ‐O2 ‐std=c++14 ‐static
注. 意. 事. 项(. 请. 仔. 细. 阅. 读).
1. 文件名(程序名和输入输出文件名)必须使用英文小写。
2. main 函数的返回值类型必须是 int,程序正常结束时的返回值必须是 0。
3. 若无特殊说明,结果的比较方式为全文比较(过滤行末空格及文末换行)。
4. 选手提交的程序源文件大小不得超过 100 KiB。
5. 提交的程序源文件的放置位置请参考各省的具体要求。
6. 程序可使用的栈空间内存限制与题目的内存限制一致。
7. 禁止在源代码中改变编译器参数(如使用 #pragma 命令),禁止使用系统结构相
关指令(如内联汇编)或其他可能造成不公平的方法。
8. 因违反上述规定而出现的问题,申诉时一律不予受理。
9. 只提供 Linux 格式附加样例文件。
10. 全国统一评测时采用的机器配置为:Intel Core Ultra 9 285K CPU @ 3.70 GHz
(关闭睿频与能效核),内存 96 GB。上述时限以此配置为准。
11. 评测在当前最新公布的 NOI Linux 下进行,各语言的编译器版本以此为准。
2025 CCF 非专业级软件能力认证 CSP-J/S 2025 第二轮认证 入门级 拼数(number)
拼数(number)
【题目描述】
小 R 正在学习字符串处理。小 X 给了小 R 一个字符串 s,其中 s 仅包含小写英文
字母及数字,且包. 含. 至. 少. 一. 个.
1 ∼ 9 中. 的. 数. 字. 。小 X 希望小 R 使用 s 中的任. 意. 多. 个. 数
字,按任. 意. 顺. 序. 拼成一个正整数。注. 意:. 小. R 可. 以. 选. 择.
s 中. 相. 同. 的. 数. 字,. 但. 每. 个. 数. 字.
只. 能. 使. 用. 一. 次。. 例如,若 s 为 1a01b,则小 R 可以同时选择第 1, 3, 4 个字符,分别为
1, 0, 1,拼成正整数 101 或 110;但小 R 不能拼成正整数 111,因为 s 仅包含两个数字 1。
小 R 想知道,在他所有能拼成的正整数中,最大的是多少。你需要帮助小 R 求出
他能拼成的正整数的最大值。
【输入格式】
从文件 number.in 中读入数据。
输入的第一行包含一个字符串 s,表示小 X 给小 R 的字符串。
【输出格式】
输出到文件 number.out 中。
输出一行一个正整数,表示小 R 能拼成的正整数的最大值。
【样例 1 输入】
1 5
【样例 1 输出】
1 5
【样例 1 解释】
s 仅包含一个数字 5,因此小 R 仅能拼成正整数 5。
【样例 2 输入】
1 290es1q0
第 2 页 共 13 页
2025 CCF 非专业级软件能力认证 CSP-J/S 2025 第二轮认证 入门级 拼数(number)
【样例 2 输出】
1 92100
【样例 2 解释】
s 包含数字 2, 9, 0, 1, 0。可以证明,小 R 拼成的正整数的最大值为 92100。
【样例 3】
见选手目录下的 number/number3.in 与 number/number3.ans。
该样例满足测试点 9 ∼ 11 的约束条件。
【样例 4】
见选手目录下的 number/number4.in 与 number/number4.ans。
该样例满足测试点 20 的约束条件。
【数据范围】
设 |s| 为字符串 s 的长度。对于所有测试数据,保证:
• 1 ≤ |s| ≤ 106;
• s 仅包含小写英文字母及数字,且包含至少一个 1 ∼ 9 中的数字。
测试点编号 |s| ≤ 特殊性质
1 1
A
2
2
3 无
4
10
A
5, 6 无
7, 8
102
A
9 ∼ 11 无
12
103
A
13, 14 无
15
105
A
16, 17 B
18, 19 无
20
106
A
21, 22 B
23 ∼ 25 无
第 3 页 共 13 页
2025 CCF 非专业级软件能力认证 CSP-J/S 2025 第二轮认证 入门级 拼数(number)
特殊性质 A:s 仅包含数字。
特殊性质 B:s 仅包含不超过 103 个数字。
第 4 页 共 13 页
2025 CCF 非专业级软件能力认证 CSP-J/S 2025 第二轮认证 入门级 座位(seat)
座位(seat)
【题目描述】
CSP-J 2025 第二轮正在进行。小 R 所在的考场共有 n × m 名考生,其中所有考生
的 CSP-J 2025 第一轮成绩互. 不. 相. 同. 。所有 n × m 名考生将按照 CSP-J 2025 第一轮的
成绩,由. 高. 到. 低. 蛇. 形. 分. 配. 座位,排列成 n 行. m 列. 。具体地,设小 R 所在的考场的所有
考生的成绩从. 高. 到. 低. 分别为 s1 > s2 > · · · > sn×m,则成绩为 s1 的考生的座位为第 1 列.
第 1 行. ,成绩为 s2 的考生的座位为第 1 列. 第 2 行. ,……,成绩为 sn 的考生的座位为
第 1 列. 第 n 行. ,成绩为 sn+1 的考生的座位为第 2 列. 第 n 行. ,……,成绩为 s2n 的考生
的座位为第 2 列. 第 1 行. ,成绩为 s2n+1 的考生的座位为第 3 列. 第 1 行. ,以此类推。
例如,若 n = 4,m = 5,则所有 4 × 5 = 20 名考生将按照 CSP-J 2025 第一轮成绩
从高到低的顺序,根据下图中的箭头顺序蛇形分配座位。
第 1 行
第 2 行
第 3 行
第 4 行
第 1 列 第 2 列 第 3 列 第 4 列 第 5 列
给定小 R 所在的考场座位的行. 数.
n 与列. 数. m,以及小 R 所在的考场的所有考生
CSP-J 2025 第一轮的成绩 a1, a2, . . . , an×m,其中 a1 为小 R CSP-J 2025 第一轮的成绩,
你需要帮助小 R 求出,他的座位为第几列. 第几行. 。
【输入格式】
从文件 seat.in 中读入数据。
输入的第一行包含两个正整数 n, m,分别表示小 R 所在的考场座位的行. 数. 与列. 数. 。
输入的第二行包含 n × m 个正整数 a1, a2, . . . , an×m,分别表示小 R 所在的考场的
所有考生 CSP-J 2025 第一轮的成绩,其中 a1 为小 R CSP-J 2025 第一轮的成绩。
第 5 页 共 13 页
2025 CCF 非专业级软件能力认证 CSP-J/S 2025 第二轮认证 入门级 座位(seat)
【输出格式】
输出到文件 seat.out 中。
输出一行两个正整数 c, r,表示小 R 的座位为第 c 列. 第 r 行. 。
【样例 1 输入】
1 2 2
2 99 100 97 98
【样例 1 输出】
1 1 2
【样例 1 解释】
按照成绩从高到低的顺序,成绩为 100 的考生的座位为第 1 列. 第 1 行. ,成绩为 99
的考生的座位为第 1 列. 第 2 行. ,成绩为 98 的考生的座位为第 2 列. 第 2 行. ,成绩为 97
的考生的座位为第 2 列. 第 1 行. 。小 R 的成绩为 99,因此座位为第 1 列. 第 2 行. 。
【样例 2 输入】
1 2 2
2 98 99 100 97
【样例 2 输出】
1 2 2
【样例 2 解释】
按照成绩从高到低的顺序,成绩为 100 的考生的座位为第 1 列. 第 1 行. ,成绩为 99
的考生的座位为第 1 列. 第 2 行. ,成绩为 98 的考生的座位为第 2 列. 第 2 行. ,成绩为 97
的考生的座位为第 2 列. 第 1 行. 。小 R 的成绩为 98,因此座位为第 2 列. 第 2 行. 。
第 6 页 共 13 页
2025 CCF 非专业级软件能力认证 CSP-J/S 2025 第二轮认证 入门级 座位(seat)
【样例 3 输入】
1 3 3
2 94 95 96 97 98 99 100 93 92
【样例 3 输出】
1 3 1
【数据范围】
对于所有测试数据,保证:
• 1 ≤ n ≤ 10,1 ≤ m ≤ 10;
• 对于所有 1 ≤ i ≤ n × m,均有 1 ≤ ai ≤ 100,且 a1, a2, . . . , an×m 互不相同。
测试点编号 n ≤ m ≤ 特殊性质
1
1
1 AB
2, 3 10 无
4, 5 10 1
6
2
2
A
7 B
8, 9 无
10
10
A
11 B
12 ∼ 14
15 ∼ 17 无
10
2
18 ∼ 20 10
特殊性质 A:对于所有 1 ≤ i ≤ n × m,均有 ai = i。
特殊性质 B:对于所有 1 ≤ i ≤ n × m,均有 ai = n × m − i + 1。
第 7 页 共 13 页
2025 CCF 非专业级软件能力认证 CSP-J/S 2025 第二轮认证 入门级 异或和(xor)
异或和(xor)
【题目描述】
小 R 有一个长度为 n 的非负整数序列 a1, a2, . . . , an。定义一个区间 [l, r] (1 ≤ l ≤
r ≤ n) 的权值为 al
, al+1, . . . , ar 的二进制按位异或和,即 al ⊕ al+1 ⊕ · · · ⊕ ar,其中 ⊕ 表
示二进制按位异或。
小 X 给了小 R 一个非负整数 k。小 X 希望小 R 选择序列中尽可能多的不. 相. 交. 的
区间,使得每个区间的权值均为 k。两个区间 [l1, r1], [l2, r2] 相交当且仅当两个区间同时
包含至少一个相同的下标,即存在 1 ≤ i ≤ n 使得 l1 ≤ i ≤ r1 且 l2 ≤ i ≤ r2。
例如,对于序列 [2, 1, 0, 3],若 k = 2,则小 R 可以选择区间 [1, 1] 和区间 [2, 4],权
值分别为 2 和 1 ⊕ 0 ⊕ 3 = 2;若 k = 3,则小 R 可以选择区间 [1, 2] 和区间 [4, 4],权值
分别为 1 ⊕ 2 = 3 和 3。
你需要帮助小 R 求出他能选出的区间数量的最大值。
【输入格式】
从文件 xor.in 中读入数据。
输入的第一行包含两个非负整数 n, k,分别表示小 R 的序列长度和小 X 给小 R 的
非负整数。
输入的第二行包含 n 个非负整数 a1, a2, . . . , an,表示小 R 的序列。
【输出格式】
输出到文件 xor.out 中。
输出一行一个非负整数,表示小 R 能选出的区间数量的最大值。
【样例 1 输入】
1 4 2
2 2 1 0 3
【样例 1 输出】
1 2
【样例 1 解释】
小 R 可以选择区间 [1, 1] 和区间 [2, 4],异或和分别为 2 和 1 ⊕ 0 ⊕ 3 = 2。可以证
明,小 R 能选出的区间数量的最大值为 2。
第 8 页 共 13 页
2025 CCF 非专业级软件能力认证 CSP-J/S 2025 第二轮认证 入门级 异或和(xor)
【样例 2 输入】
1 4 3
2 2 1 0 3
【样例 2 输出】
1 2
【样例 2 解释】
小 R 可以选择区间 [1, 2] 和区间 [4, 4],异或和分别为 1 ⊕ 2 = 3 和 3。可以证明,小
R 能选出的区间数量的最大值为 2。
【样例 3 输入】
1 4 0
2 2 1 0 3
【样例 3 输出】
1 1
【样例 3 解释】
小 R 可以选择区间 [3, 3],异或和为 0。可以证明,小 R 能选出的区间数量的最大
值为 1。注意:小 R 不能同时选择区间 [3, 3] 和区间 [1, 4],因为这两个区间同时包含下
标 3。
【样例 4】
见选手目录下的 xor/xor4.in 与 xor/xor4.ans。
该样例满足测试点 4, 5 的约束条件。
【样例 5】
见选手目录下的 xor/xor5.in 与 xor/xor5.ans。
该样例满足测试点 9, 10 的约束条件。
第 9 页 共 13 页
2025 CCF 非专业级软件能力认证 CSP-J/S 2025 第二轮认证 入门级 异或和(xor)
【样例 6】
见选手目录下的 xor/xor6.in 与 xor/xor6.ans。
该样例满足测试点 14, 15 的约束条件。
【数据范围】
对于所有测试数据,保证:
• 1 ≤ n ≤ 5 × 105,0 ≤ k < 2
20;
• 对于所有 1 ≤ i ≤ n,均有 0 ≤ ai < 2
20。
测试点编号 n ≤ k 特殊性质
1 2 = 0 A
2 10 ≤ 1 B
3
102
= 0 A
4, 5 ≤ 1 B
6 ∼ 8
≤ 255 C
9, 10
103
11, 12 < 2
20 无
13
2 × 105
≤ 1 B
14, 15 ≤ 255 C
16 < 2
20 无
17
5 × 105
≤ 255 C
18 ∼ 20 < 2
20 无
特殊性质 A:对于所有 1 ≤ i ≤ n,均有 ai = 1。
特殊性质 B:对于所有 1 ≤ i ≤ n,均有 0 ≤ ai ≤ 1。
特殊性质 C:对于所有 1 ≤ i ≤ n,均有 0 ≤ ai ≤ 255。
第 10 页 共 13 页
2025 CCF 非专业级软件能力认证 CSP-J/S 2025 第二轮认证 入门级 多边形(polygon)
多边形(polygon)
【题目描述】
小 R 喜欢玩小木棍。小 R 有 n 根小木棍,第 i (1 ≤ i ≤ n) 根小木棍的长度为 ai。
小 X 希望小 R 从这 n 根小木棍中选出若干根小木棍,将它们按任意顺序首尾相连
拼成一个多边形。小 R 并不知道小木棍能拼成多边形的条件,于是小 X 直接将条件告
诉了他:对于长度分别为 l1, l2, . . . , lm 的 m 根小木棍,这 m 根小木棍能拼成一个多边
形当且仅当 m ≥ 3 且所有小木棍的长度之和大. 于. 所有小木棍的长度最大值的两倍,即
∑m
i=1 li > 2 × maxm
i=1 li。
由于小 R 知道了小木棍能拼成多边形的条件,小 X 提出了一个更难的问题:有多
少种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形?你需要帮助小 R 求
出选出的小木棍能够拼成一个多边形的方案数。两种方案不同当且仅当选择的小木棍的
下. 标. 集. 合. 不. 同. ,即存在 1 ≤ i ≤ n,使得其中一种方案选择了第 i 根小木棍,但另一种方
案未选择。由于答案可能较大,你只需要求出答案对 998, 244, 353 取模后的结果。
【输入格式】
从文件 polygon.in 中读入数据。
输入的第一行包含一个正整数 n,表示小 R 的小木棍的数量。
输入的第二行包含 n 个正整数 a1, a2, . . . , an,表示小 R 的小木棍的长度。
【输出格式】
输出到文件 polygon.out 中。
输出一行一个非负整数,表示小 R 选出的小木棍能够拼成一个多边形的方案数对
998, 244, 353 取模后的结果。
【样例 1 输入】
1 5
2 1 2 3 4 5
【样例 1 输出】
1 9
第 11 页 共 13 页
2025 CCF 非专业级软件能力认证 CSP-J/S 2025 第二轮认证 入门级 多边形(polygon)
【样例 1 解释】
共有以下 9 种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形:
1. 选择第 2, 3, 4 根小木棍,长度之和为 2 + 3 + 4 = 9,长度最大值为 4;
2. 选择第 2, 4, 5 根小木棍,长度之和为 2 + 4 + 5 = 11,长度最大值为 5;
3. 选择第 3, 4, 5 根小木棍,长度之和为 3 + 4 + 5 = 12,长度最大值为 5;
4. 选择第 1, 2, 3, 4 根小木棍,长度之和为 1 + 2 + 3 + 4 = 10,长度最大值为 4;
5. 选择第 1, 2, 3, 5 根小木棍,长度之和为 1 + 2 + 3 + 5 = 11,长度最大值为 5;
6. 选择第 1, 2, 4, 5 根小木棍,长度之和为 1 + 2 + 4 + 5 = 12,长度最大值为 5;
7. 选择第 1, 3, 4, 5 根小木棍,长度之和为 1 + 3 + 4 + 5 = 13,长度最大值为 5;
8. 选择第 2, 3, 4, 5 根小木棍,长度之和为 2 + 3 + 4 + 5 = 14,长度最大值为 5;
9. 选择第 1, 2, 3, 4, 5 根小木棍,长度之和为 1 + 2 + 3 + 4 + 5 = 15,长度最大值为 5。
【样例 2 输入】
1 5
2 2 2 3 8 10
【样例 2 输出】
1 6
共有以下 6 种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形:
1. 选择第 1, 2, 3 根小木棍,长度之和为 2 + 2 + 3 = 7,长度最大值为 3;
2. 选择第 3, 4, 5 根小木棍,长度之和为 3 + 8 + 10 = 21,长度最大值为 10;
3. 选择第 1, 2, 4, 5 根小木棍,长度之和为 2 + 2 + 8 + 10 = 22,长度最大值为 10;
4. 选择第 1, 3, 4, 5 根小木棍,长度之和为 2 + 3 + 8 + 10 = 23,长度最大值为 10;
5. 选择第 2, 3, 4, 5 根小木棍,长度之和为 2 + 3 + 8 + 10 = 23,长度最大值为 10;
6. 选择第 1, 2, 3, 4, 5 根小木棍,长度之和为 2 + 2 + 3 + 8 + 10 = 25,长度最大值为
10。
【样例 3】
见选手目录下的 polygon/polygon3.in 与 polygon/polygon3.ans。
该样例满足测试点 7 ∼ 10 的约束条件。
【样例 4】
见选手目录下的 polygon/polygon4.in 与 polygon/polygon4.ans。
该样例满足测试点 11 ∼ 14 的约束条件。
第 12 页 共 13 页
2025 CCF 非专业级软件能力认证 CSP-J/S 2025 第二轮认证 入门级 多边形(polygon)
【子任务】
对于所有测试数据,保证:
• 3 ≤ n ≤ 5, 000;
• 对于所有 1 ≤ i ≤ n,均有 1 ≤ ai ≤ 5, 000。
测试点编号 n ≤ maxn
i=1 ai ≤
1 ∼ 3 3 10
4 ∼ 6 10
102 7 ∼ 10 20
11 ∼ 14
500
15 ∼ 17
1
18 ∼ 20
5, 000
21 ∼ 25 5, 000
第 13 页 共 13 页
复制 PDF 大佬,他甚至没有注释。
SC-J00950
希望这位考生明年能够继续参赛吧。同时,代码包中唯一的 fuck 也是这一位。
SC-J00991
在 polygon.cpp 中的内容如下:
/*
8:15 Hello,我是超级蒟蒻,今天来勇闯CSP-J啊。距离开考还有15分,好无聊,不让打板子敲代码,只能“罚坐”。今年竟然还在电脑间加了板子,放不开一点,空间好窄
8:26 快开考了,好紧张,计算器太小了,直接把我小脑整萎缩了
8:30 可恶,不发密码
8:49 拿下T1,今年T1和去年一样水
8:53 **,今年键盘手感好差
9:24 T2拿下,还有2个多小时,今年T1字符串,T2模拟,看着T3挺难的。今年要拿一等,T3肯定要拿大部分分
9:30 wc,是二进制,我**二进制一点不会
9:46 上了个厕所回来果断放弃T3,开始T4,一眼想了个O(n^3)(大概是这个值)的方法
9:57 *!T4不能枚举区间,想了一下DP,似乎也不太行
10:06 想到区间DP,写下大概思路,枚举每个数,再枚举这个数前的区间l-r,dp[i][l][r]表示以a[i]为边的最大值,l-r之间满足与a[i]组成多边形的方案数,最后答案应该就是∑dp[i][1][i - 1],但又感觉不会写,回T3换换脑
10:56 搞了半天,T3的xor的函数终于调好了,开始步入正题,但愿能拿部分分
11:29 T3的O(n^3)解法写出来了,应该能拿48分,开始抓T4部分分
11:35 1-3测试点的部分分KO了,应该15分,总分现在应该是100 + 100 + 48 + 15 = 263。旁边的girl还在写代码,感觉好厉害的样子。对了,如果有人整理考试代码时看到了这个游记,能单独发到洛谷的文章广场的休闲·娱乐里吗,我是SC-J00991。
11:46 又都检查并提交了一遍,应该没问题了,对了,如果能发我的这篇游记,能把我四个题代码复制在下面吗?求求了!祝我下午CSP-S顺利,希望下午T1是签到题,我能AC它。祝我晚上赶作业顺利。我在渠县读书,明天才能回去,现在在成都外国语考试,明天下午4:30到校。唉,对了,我妈说渠县就我一个考CSP的,CCF能帮我查一查吗?现在11:52了,不写了,存桌面上的T4代码里然后继续检查。
*/
如你所愿。
SC-J01094
number.cpp 中的内容如下:
/*
难!得!有!几!个!真!兄!弟!
剥蒜的情谊
虽然很久不曾联系
但是放心里惦记~
难!得!有!几!个!真!兄!弟!
走在不同的轨迹~
不必太多的言语
当你需要
我守护你~~~
*/
seat.cpp 中的内容如下:
/*
//freopen("seat.in","r",stdin);
//freopen("seat.out","w",stdout);
假装我注释了freopen,这样就能上迷惑行为大赏了(
freopen("set.out","w",stdout);
freopen("set.out","w",stdout);
freopen("saet.out","w",stdout);
freopen("saet.out","w",stdout);
假装我打错了freopen,这样就能上迷惑行为大赏了(
*/
xor.cpp 中的内容如下:
/*
妈妈
*/
难绷。
SC-J01307&&SC-J00481
SC-J01307。
在 number.cpp 中内容如下:
/*
oooooooo..rrrrrrr.zzzzzzzz
o......o.r..............z.
o......o.r.............z..
o......o.r............z...
o......o.r...........z....
o......o.r..........z.....
o......o.r.........z......
oooooooo.r........zzzzzzz
Gei duiye ketou le
RP++
*/
SC-J00481。
在 polygon.cpp 中的内容如下:
/*
*************
*************
*************
####
######
##########
# #### ####
# #########
# ######
# ####
# ## ###
# ## ##
# ##
# ##
###
***** *****
***** *****
***** *****
*/
好像是今年唯二的字符画选手?
SC-J01505
在 polygon.cpp 中的内容如下:
/*
luogu:Kanycta
Bilibili:UN_kny
Warthunder Asia :Kanycta
WoT Asia:UN_kanycta
QQ:2098410134
wx:gensokyo524
少羽牛逼!
少羽牛逼!
少羽牛逼!
少羽牛逼!
少羽牛逼!
*/
少羽牛逼!
SC-J01741
在 polygon.cpp 中的内容如下:
//所以CCF有迷惑行为合集吗?
不知道。
SC-J01890
/*
如果有一天我AKIOI,
那我一定要走遍这世界~
看这世间最美好的风景,
从此无忧无虑,每一天~
如果有一天我AKIOI,
那我一定要AK所有的OJ题~
成为ATCF的第一名,
霸榜世界第一无人敌,
从此没有对手~~
全AK~
我全AK~~
那些无解的题全部都AC~
全AK~
我全AK~~
等到有一天所有人,
都来膜拜我~~
如果有一天我AKIOI,
那我一定要挣个月薪50+W~
让公司老板给我倒茶水,
从此嚣张无边,每一天~
如果有一天我AKIOI,
那我一定要清空自己的购物单~
买下所有自己想要的东西,
从此不愁没钱~~
全AK~
我全AK~~
那些不堪的回忆全部都忘却~
全AK~
我全AK~~
直到我自己变得,
很有钱~~
如果有一天我AKIOI,
那我一定要开最强的补习班~
收取全世界最贵的学费,
从此成为导师,每一天~
如果有一天我AKIOI,
那我一定要开发一个AI~
成为全世界最强大脑,
从此威霸四方~~
全AK~
我全AK~~
那些嘲讽我的都散去~
全AK~
我全AK~~
等到有一天才发现自己,
其实很犇~~
如果有一天我AKIOI,
那我一定要把所有人都叫到身边~
给他们讲讲我的故事,
从此快乐,每一天~
如果有一天我AKIOI,
那我一定要供养我的家人~
让他们都吃上我的饭,
从此没有忧愁~~
全AK~
我全AK~~
到了最后才觉得自己很愚蠢~
全AK~
我全AK~~
等到有一天才发现信奥,
不是一切~~
THE ~ END
(曲目原版:《如果有一天我变得很有钱》)
*/
匿名
/*
再贴亿点点个人爱好吧,拿去给迷惑行为大赏的人发到luogu专栏里。记得不要爆我准考证号,谢谢!!!
性别:女
MBTI:ENTP-A
看小说,打游戏。
小说才入坑几个月,目前只看完了十日终焉,斩神,龙族的前3部,最近在追更戏神,诸神愚戏太猎奇了被同学骂成了小黄文,看到甄欣出场就没看了
游戏的话,玩原神、崩铁、崩3、绝区零、鸣潮
原神号废了,于是只有0+0的魈和阿蕾奇诺,常驻一大堆。
鸣潮没怎么玩,于是只有3个常驻,名字都忘了
绝区零也是,于是只有0+0的仪玄和一个忘了名字的,好像叫艾丽丝?反正有1+0猫又,0+1的11号。
但是崩铁和崩3就不一样了,T2代码里说。
*/
表白专区
总共查找到了 I love,除展示外,剩下的均为 I love CCF。
SC-J00880
在 seat.cpp 中的内容如下:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 110;
int n,m,A,Bigger,arr[N],mp[N][N];
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
freopen("seat.in","r",stdin);freopen("seat.out","w",stdout);
cin >> n >> m >> A;arr[1] = A;
for(int i = 2;i <= n*m;++i) cin >> arr[i];
sort(arr+1,arr+1+n*m,[&](int a,int b){return a > b;});
for(int i = 1,j = 1,k = 1;i <= n*m;++i){
mp[j][k] = arr[i];
if(arr[i] == A){
cout << k << " " << j << "\n";
return 0;
}if(k&1){
if(j == n) ++k;
else ++j;
}else{
if(j == 1) ++k;
else --j;
}
}cout << "I Love Furina Forever.\n";
return 0;
}
SC-J01044
在 number.cpp 中的内容如下:
//I love shishi high school
SC-J01491
在 number.cpp 中的内容如下:
/*
This is maybe the last year I sitting here for CSP-J, maybe not?
My code in T3 is worstly O(n^2), but the best O(n).
So it's difficult to predict my final score.
It can be 300 to 340.Too low, right?
Btw, I love @Arrtan_73 (not gay)
I love @Arrtan_73
I love @Arrtan_73
I love @Arrtan_73
I love @Arrtan_73
I love @Arrtan_73
I love @Arrtan_73
I love @Arrtan_73
I love @Arrtan_73
I love @Arrtan_73
Everyone who see pls send "I love @Arrtan_73" to him, before 2025/12/31.
pls pls pls pls pls pls pls ,and pls keep it a secret, even though he ask you.
2025/11/1 11:30 in CDQZ
*/
SC-J01881(过去式)
在 polygon.cpp 中的内容如下:
//I loved DJY. ~~But I hate her now, because she goosped me. The people like this is my hatest.~~
总结
今年的 J 组简单了很多,所以也给了一些整活选手足够的时间整活。
但是,也有着像 saet.in,memset 格式写错,.ans,以及我在查代码中其他的各种细微错误。小则丢掉十多分,大则失去一等奖的机会。所以,一定要仔细检查代码,不要有一丝马虎。SC 的代码收集程序已经降低了很多的提交风险,不会出现吞代码,代码目录结构错误,源文件命名错误的现象。选手们的主要注意力得以全部集中于代码之内。这种情况下,细微且低级的错误是不可犯的。因为你有足够的时间(哪怕是最后的两分钟)检查基本代码内容。
祝看到这里的你取得圆满的成绩!