社区讨论
关于题解规范“不应在代码中加入防抄袭内容”
学术版参与者 16已保存回复 30
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 27 条
- 当前快照
- 1 份
- 快照标识符
- @mlm1iziw
- 此快照首次捕获于
- 2026/02/14 16:14 5 天前
- 此快照最后确认于
- 2026/02/17 22:10 前天
首先我不知道这玩意的意义是什么。
在不影响阅读的情况下,在题解代码中加入防抄袭内容,既能维护题解作者的权益,又能引导更加积极的学术风气。这凭什么作为题解“规范”被禁止?
虽然我不理解这项规定,但是我从没有在题解代码中加入过放抄袭。
但是我近期发布的一部分题解却以这个原因被打回。发布工单后,管理员告诉我是因为我写了
void mian()。下面是原题解代码:
CPPconst int N = 45;
int n, s, a[N], ans;
map<int,int> mp;
void DFS1(int u, int o) {
if (u > (n>>1)) {
++mp[o];
return;
}
DFS1(u + 1, o + a[u]);
DFS1(u + 1, o);
}
void DFS2(int u, int o) {
if (u <= (n>>1)) {
ans += mp[s-o];
return;
}
DFS2(u - 1, o + a[u]);
DFS2(u - 1, o);
}
void mian() {
cin >> n >> s;
F(i, 1, n) cin >> a[i];
DFS1(1, 0);
DFS2(n, 0);
cout << ans << '\n';
}
题目链接 AT_awc0002_e。
首先显然上面代码展示的是最核心部分,并且一个学过 OI 的人应该都知道这是最核心部分,连头文件都没有,无法通过编译。我认为写一个
void mian() 是完全不影响阅读和对题目的理解的。我个人的缺省源(代码模板)长这样:
CPP// Code By CommandSR (uid 844860)
#include <bits/stdc++.h>
#define int long long
#define ll long long
#define ull unsigned long long
#define uint unsigned int
#define i128 __int128
#define db double
#define pc putchar
#define pb push_back
#define vi vector<int>
#define PQ priority_queue
#define umap unordered_map
#define pii pair<int,int>
#define mkp make_pair
#define popc __builtin_popcount
#define sz(x) ((int)x.size())
#define F(i,a,b) for (int i=(a);i<=(b);++i)
#define D(i,a,b) for (int i=(a);i>=(b);--i)
#define TM cerr<<fabs(&Med-&Mbe)/1048576.0<<"MB "<<1.0*clock()/CLOCKS_PER_SEC*1000<<"ms\n";
#define FIO ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
bool Mbe;
mt19937 rnd(time(0));
namespace CmdSR_STL {
inline int max(int x,int y) {return(x>y?x:y);}
inline int min(int x,int y) {return(x<y?x:y);}
inline void ckmax(int &x,int y) {if(y>x)x=y;}
inline void ckmin(int &x,int y) {if(y<x)x=y;}
inline void rd(int &x) {x=0;bool f=0;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=1;ch=getchar();}while(ch>='0'&&ch<='9')x=(x<<1)+(x<<3)+(ch^48),ch=getchar();if(f)x=~x+1;}
inline void wr(int x) {if(x<0)pc('-'),x=~x+1;if(x>9)wr(x/10);pc(x%10+'0');}
} using namespace CmdSR_STL;
void mian() {
}
bool Med;
signed main() {
int T = 1;
F(_, 1, T) mian();
// TM
return 0;
}
显然这个
void mian() 是写多测用的。这个还是我去某知名机构看某金牌选手写代码时看到的,虽然有些娱乐意味,但我相信不止我一个人这么干。将他人的日常编码习惯界定为“防抄袭内容”,并以此为由打回题解,我认为这不是一个学术交流社区的“题解审核人”应该做的事。
想听大家怎么看“不应在代码中加入防抄袭内容”这条规范的意义,以及对这件事的看法。
回复
共 30 条回复,欢迎继续交流。
正在加载回复...