【关于初赛】是真的吗?
  • 板块灌水区
  • 楼主wwwidk1234
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/9/18 22:32
  • 上次更新2023/11/2 19:10:14
查看原帖
【关于初赛】是真的吗?
728483
wwwidk1234楼主2023/9/18 22:32

坐标广东,现在不知道分数线,吃饭睡觉上whk满脑子都是这个事,我在睡觉别人说一句“复赛”都能把我叫醒的那种

为了防止这个帖子太水了,P1004 全RE样例没过求调

#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int read()
{
	int suffm=0,sym=1;
	char chr=getchar();
	while(chr<'0'||chr>'9'){if(chr=='-') sym=-1;chr=getchar();}
	while(chr>='0'&&chr<='9'){suffm=(suffm<<3)+(suffm<<1)+(chr^48);chr=getchar();}
	return suffm*sym;
}
inline void write(int suffm)
{
	if(suffm<0){putchar('-');suffm=-suffm;}
	if(suffm>9) write(suffm/10);
	putchar(suffm%10+48);
}
const int N=9+3;
bool vis[N][N];
int ma[N][N];
int n;
int ans=-1145141919810;
int dx[]={1,0};
int dy[]={0,1};
void dfs(int x1,int x2,int y1,int y2,int sum)
{
	if(x1==n&&x2==n&&y1==n&&y2==n)
	{
		ans=max(ans,sum);
		return ;
	}
	for(int i=0;i<2;i++)
	{
		for(int j=0;j<2;j++)
		{
			if(i==j) continue;
			int xx1=x1+dx[i],yy1=y1+dy[i];
			int xx2=x2+dx[j],yy2=y2+dy[j];
			if(!vis[xx1][yy1]&&!vis[xx2][yy2])  //&&->|| ?
			{
				vis[xx1][yy1]=vis[xx2][yy2]=true;
				dfs(xx1,xx2,yy1,yy2,sum+ma[xx1][yy1]+ma[xx2][yy2]);
				vis[xx1][yy1]=vis[xx2][yy2]=false;
			}
		}
	}
}
signed main()
{
	n=read();
	while(true)
	{
		int kkk1=read(),kkk2=read(),kkk3=read();
		if(kkk1==0&&kkk2==0&&kkk3==0) break;
		ma[kkk1][kkk2]=kkk3;
	}
	dfs(1,1,1,1,0);
	write(ans);
	return 0;
}

另外验证码CCSP祭

2023/9/18 22:32
加载中...