社区讨论

关于题解规范“不应在代码中加入防抄袭内容”

学术版参与者 16已保存回复 30

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
27 条
当前快照
1 份
快照标识符
@mlm1iziw
此快照首次捕获于
2026/02/14 16:14
5 天前
此快照最后确认于
2026/02/17 22:10
前天
查看原帖
首先我不知道这玩意的意义是什么。
在不影响阅读的情况下,在题解代码中加入防抄袭内容,既能维护题解作者的权益,又能引导更加积极的学术风气。这凭什么作为题解“规范”被禁止?
虽然我不理解这项规定,但是我从没有在题解代码中加入过放抄袭。
但是我近期发布的一部分题解却以这个原因被打回。发布工单后,管理员告诉我是因为我写了 void mian()
下面是原题解代码:
CPP
const 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 条回复,欢迎继续交流。

正在加载回复...