求大佬帮忙看看为什么我的代码会RE??
查看原帖
求大佬帮忙看看为什么我的代码会RE??
505294
Ted_Algorithm楼主2022/9/2 11:04
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int MAXN=505;

int a[MAXN][MAXN];
bool used[MAXN][MAXN];//记录该牌组合是否已经拿过,0未拿,1已拿
int n;

int main()
{
	cin>>n;
	for (int i=1;i<=n-1;i++)  //一一对应读入武将默契值
		for (int j=i+1;j<=n;j++) scanf("%lld",&a[i][j]);
		
	int max_xh=0,max_com=0; //小涵,计算机所有拿牌顺序中能够拿出的最大默契值
	for (int i=1;i<=n;i++) //小涵可以从第1张拿起,每次一种方案
	{
		int temp_xh=0,temp_com=0; //小涵,计算机每轮拿牌能拿出的最大默契值
		int tot=1; //记录拿牌总数
		int k=i;
		while (tot<n)
		{
			int t1,t2;
			int big=0;
			for (int j=1;j<=n-1;j++) //计算机拿牌,拿掉对应小涵所拿牌的最大默契值牌
				if (big<a[j][k]&&used[j][k]==0) big=a[j][k],t1=j,t2=k;
			used[t1][t2]=1,tot++;
			big=0;
			for (int j=1;j<=n-1;j++)
				if (big<a[j][k]&&used[j][k]==0) big=a[j][k],t1=j,t2=k;
			used[t1][t2]=1,tot++,k=t1;
			temp_xh=max(big,temp_xh);
		}
		max_xh=max(max_xh,temp_xh);
		memset(used,0,sizeof(used));
	}
	cout<<1<<endl<<max_xh<<endl;
	
	return 0;
}

先不考虑代码是否能AC 我在本地跑 样例1 样例2 还有测试点1都能过 但是为什么提交代码就全RE?

2022/9/2 11:04
加载中...