"复仇者联盟"处罚公告
2024-11-04 13:35:19
发布于:广东
在“10月排位赛#6”中,我们发现用户复仇者小ZUZU_童瑞琪专属奴隶,ID:937283,在比赛T3,T4,T6中涉嫌使用AI生成代码进行不正当竞争,对此做出惩罚,将其踢出团队,此后不得再加入团队。
以下是我们找到的证据
@复仇者小ZUZU_童瑞琪专属奴隶 T3的代码
#include <iostream>
#include <algorithm>
using namespace std;
bool can_reach(long long a, long long b, long long x) {
if (a == x || b == x) return true;
if (a < b) swap(a, b);
if (a == 0 || b == 0) return false;
if (a == b) return a == x;
if (x > a) return false;
if (x % b == a % b) return true;
return can_reach(a % b, b, x);
}
int main() {
int T;
cin >> T;
while (T--) {
long long a, b, x;
cin >> a >> b >> x;
if (can_reach(a, b, x)) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}
而这是@复仇者_零提供的由canvas写出的代码
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
bool canReach(ll a, ll b, ll x) {
while (a != 0 && b != 0) {
if (a < b) swap(a, b); // Ensure a >= b
if (a == x || b == x) return true;
if (b == 0) return false;
// Check if x can be reached directly or by subtracting multiples of b from a
if ((a - x) % b == 0 && a >= x) return true;
a %= b;
}
return false;
}
int main() {
int T;
cin >> T;
while (T--) {
ll a, b, x;
cin >> a >> b >> x;
if (canReach(a, b, x)) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}
经过AI比对,发现
@复仇者小ZUZU_童瑞琪专属奴隶 T6的代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class UnionFind {
public:
vector<int> parent;
vector<int> size;
vector<int> max_node;
UnionFind(int n) {
parent.resize(n + 1);
size.resize(n + 1, 1);
max_node.resize(n + 1);
for (int i = 1; i <= n; ++i) {
parent[i] = i;
max_node[i] = i;
}
}
int find(int x) {
if (parent[x] != x) {
parent[x] = find(parent[x]);
}
return parent[x];
}
void unionSets(int x, int y) {
int rootX = find(x);
int rootY = find(y);
if (rootX != rootY) {
if (size[rootX] < size[rootY]) {
swap(rootX, rootY);
}
parent[rootY] = rootX;
size[rootX] += size[rootY];
max_node[rootX] = max(max_node[rootX], max_node[rootY]);
}
}
int getMaxNode(int x) {
return max_node[find(x)];
}
};
int main() {
int N, M;
cin >> N >> M;
UnionFind uf(N);
for (int i = 0; i < M; ++i) {
int A, B;
cin >> A >> B;
uf.unionSets(A, B);
}
for (int i = 1; i <= N; ++i) {
cout << uf.getMaxNode(i) << " ";
}
cout << endl;
return 0;
}
而这是@复仇者_零提供的由GPT-4写出的代码
#include <iostream>
#include <vector>
using namespace std;
class UnionFind {
vector<int> parent, rank, maxInComponent;
public:
UnionFind(int size) : parent(size + 1), rank(size + 1, 0), maxInComponent(size + 1) {
for (int i = 1; i <= size; ++i) {
parent[i] = i;
maxInComponent[i] = i; // Initially, the max island in each component is itself
}
}
int find(int u) {
if (parent[u] != u) {
parent[u] = find(parent[u]); // Path compression
}
return parent[u];
}
void unionSets(int u, int v) {
int rootU = find(u);
int rootV = find(v);
if (rootU != rootV) {
if (rank[rootU] > rank[rootV]) {
parent[rootV] = rootU;
maxInComponent[rootU] = max(maxInComponent[rootU], maxInComponent[rootV]);
} else if (rank[rootU] < rank[rootV]) {
parent[rootU] = rootV;
maxInComponent[rootV] = max(maxInComponent[rootV], maxInComponent[rootU]);
} else {
parent[rootV] = rootU;
rank[rootU]++;
maxInComponent[rootU] = max(maxInComponent[rootU], maxInComponent[rootV]);
}
}
}
int getMaxInComponent(int u) {
int root = find(u);
return maxInComponent[root];
}
};
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N, M;
cin >> N >> M;
UnionFind uf(N);
for (int i = 0; i < M; ++i) {
int Ai, Bi;
cin >> Ai >> Bi;
uf.unionSets(Ai, Bi);
}
for (int i = 1; i <= N; ++i) {
cout << uf.getMaxInComponent(i) << " ";
}
cout << endl;
return 0;
}
几乎一模一样......
我们有足够好的检测方式,可以检测出每个作弊的人!!!
希望这种事情不要再发生,希望大家公平竞争。我们不会惋惜任何一位成员!!!
全部评论 114
不是,我的评价是这家伙作弊做的不彻底啊(名字都不会改的么?
2024-11-09 来自 上海
7是这样的
2024-11-09 来自 广东
2就是人如机
2024-11-09 来自 广东
1这人真的嗯,没法形容。
1周前 来自 浙江
1
改个变量,改个写法,无敌了
1周前 来自 江苏
3点了
1周前 来自 广东
0
呵,长大了
2024-11-20 来自 广东
3拿下入机sjy
2024-11-20 来自 广东
1孙 一辈子抬不起头了
2024-11-20 来自 广东
1上课时候他估计得阴阳你一手
2024-11-20 来自 广东
1
唐人联盟
2024-11-17 来自 上海
3你行
昨天 来自 广东
0
你们自己都用ai,我这个纯手写的就ai了。笑死我了,这破团不进也行
2024-11-09 来自 广东
3666也是叫上了
2024-11-09 来自 广东
4你先别急
2024-11-09 来自 广东
3别以为我不知道你手写的代码长啥样
2024-11-09 来自 广东
3
喂,你好,请问是110吗?有人开了VPN访问ChatGPT。。。
4天前 来自 广东
2臭入机开桂了?
2024-11-17 来自 上海
2没开桂,作弊行为还挺多
2024-11-18 来自 广东
1懂,笑
2024-11-19 来自 上海
1拿下榜三
6天前 来自 广东
0
我和“自力更生”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!https://www.acgo.cn/application/1852580223857012736
2024-11-11 来自 广西
2真敬业啊(来自队长的肯定)
2024-11-11 来自 江苏
2需要合作么?我团226还是227人
2024-11-13 来自 浙江
2需要的话私信
2024-11-13 来自 浙江
2
顶
2024-11-09 来自 广东
2顶你妹啊
2024-11-16 来自 浙江
1烦不烦
2024-11-16 来自 浙江
1666孙+1本人发话了
2024-11-16 来自 广东
1
笑死我了
2024-11-09 来自 广东
2666真ai。
2024-11-09 来自 广东
2实力不行 AI来凑 无敌了
2024-11-09 来自 广东
1建议去阿里巴巴数学竞赛拿下姜王博士
2024-11-09 来自 广东
2别以为我们看不到你的AC代码,历史记录也可以翻的到!
2024-11-09 来自 浙江
1
这是CHATGPT吗??怎么下载啊!!!我早想下了,我是iPhone的,华为手机也有,一直下不了是为什么(?华为应用市场找不到,iPhone的App Store找不到,我朋友下了,她就是不肯告诉我。。。
4天前 来自 浙江
1ChatGPT有免费版,但是要挂梯子
4天前 来自 黑龙江
1
顶
1周前 来自 江苏
1顶
2024-11-07 来自 浙江
1顶
2024-11-07 来自 浙江
1顶
2024-11-04 来自 广东
1顶
2024-11-04 来自 广东
1人机吧
2024-11-16 来自 浙江
0哦
2024-11-18 来自 广东
1那咋了
2024-11-18 来自 广东
1
顶
3天前 来自 浙江
0顶乘10的800次方
4天前 来自 浙江
0大家最好还是要公平竞争,不然就会像一些人一样被逼退站
5天前 来自 北京
0没退,他只是开小号大马喽打了
4天前 来自 广东
0
有帮助,赞一个