这能撤下吗???
查看原帖
这能撤下吗???
1045932
Na1L0n9楼主2024/8/6 20:39

倒数第一篇和倒数第二篇题解相似度极高,疑似抄袭

SunsetSamsara code

#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[100001];
int A,B;//两个人的总数 
priority_queue<int> pq;
int main(){
	scanf("%d",&n);
	for(int i=1,j,x;i<=n;++i){
		scanf("%d",a+i);
		for(j=1;j<=(a[i]>>1);++j){
			scanf("%d",&x);
			A+=x;
		}//B的
		if(a[i]&1){
			scanf("%d",&x);//中间牌 
			pq.push(x);
			++j;
		}
		for(;j<=a[i];++j){
			scanf("%d",&x);
			B+=x;
		}//B的 
	}
	int p=1;//当前谁取 
	while(!pq.empty()){
		if(p)A+=pq.top();
		else B+=pq.top();
		pq.pop();
		p^=1;
		//轮流取最大值
	}
	printf("%d %d\n",A,B);
	return 0;
}

orz_z code

#include <bits/stdc++.h>
using namespace std;

int n, m;

int a[100007];

int A, B;

priority_queue<int> pq;

signed main()
{
    scanf("%d", &n);
    for (int i = 1, j, x; i <= n; ++i)
    {
        scanf("%d", a + i);
        for (j = 1; j <= (a[i] >> 1); ++j)
        {
            scanf("%d", &x);
            A += x;
        }
        if (a[i] & 1)
        {
            scanf("%d", &x);
            pq.push(x);
            ++j;
        }
        for (; j <= a[i]; ++j)
        {
            scanf("%d", &x);
            B += x;
        }
    }
    int p = 1;
    while (!pq.empty())
    {
        if (p)
            A += pq.top();
        else
            B += pq.top();
        pq.pop();
        p ^= 1;
    }
    printf("%d %d\n", A, B);
    return 0;
}

我没有证据,但是这是真的挺像

2024/8/6 20:39
加载中...