基于炸死老师的可读性归零代码
2025-05-28 19:01:35
发布于:广东
观前提示
这里的代码都可以在C++11正常运行,但是千万不要 (?)[1]用在正式考试
崩了别来偷我家马桶
原理区
众所周知[2],因为某些神秘特性,a[i]
和i[a]
效果相同
可以使用#define int long long
来开long long[3]
#include_next
可以代替#include
于是我们可以得到:
实践区
随便刨了一道题来
T33994.得到更多分数的最少关卡数目
普及-
题目描述
给定一个长度为 n
的数组 possible
:0
表示困难关卡,1
表示简单关卡。
规则:
从左往右依次完成关卡,
Bob 完成剩余关卡。
简单关卡得 1 分,困难关卡扣 1 分。
每个玩家都至少需要完成 1 个关卡。
目标:找出Alice 至少需要完成多少关卡,才能比Bob 得分高;如果无法实现,返回 −1。
输入格式
第一行输入一个整数 n
,表示关卡的数量。
第二行输入一个长度为 n
的数组 possible
,表示每个关卡的模式:
1
表示简单模式;
0
表示困难模式。
输出格式
输出一个整数,表示 Alice 获得比Bob 更多分数所需要完成的最少关卡数目。如果无法达成,则返回−1
。
代码示例
原版代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll a[2000010],s[2000010],n;
int main(){
cin >> n;
for(ll i = 1;i <= n;i++){
cin >> a[i];
s[i] = s[i - 1] + (a[i] == 1 ? 1 : -1);
}
for(ll i = 1;i < n;i++){
ll A = s[i],B = s[n] - s[i];
if(A > B){
cout << i;
return 0;
}
}
cout << -1;
}
魔改·可读性归零代码:
#include_next<bits/stdc++.h>
using namespace std;
#define int long long
int a[2000010],s[2000010],n;
signed main(){
cin >> n;
for(int i = 1;i <= n;i++){
cin >> i[a];
i[s] = (i-1)[s] + (i[a] == 1 ? 1 : -1);
}
for(int i = 1;i < n;i++){
int A = i[s],B = n[s] - i[s];
if(A > B){
cout << i;
return 0;
}
}
cout << -1;
}
差点被老师抽死
全部评论 6
但是因为你是举报专家,所以举办了(
2025-06-02 来自 广东
0?
认错人了吧1周前 来自 广东
0
诡异
2025-06-02 来自 广东
0顶啊
为什么没流量
我要黑化
2025-06-02 来自 广东
06
2025-05-28 来自 天津
0顶!
顶!2025-05-24 来自 广东
0顶!
顶!2025-05-24 来自 广东
0
有帮助,赞一个