求助刚刚结束的月赛div1T1
查看原帖
求助刚刚结束的月赛div1T1
765461
zhangmingsheng3521楼主2023/10/1 18:14

rt.此代码目标骗15分。求调悬10关,不是诈骗(不过小号数量不够有一部分关只能给调代码者的小号),能大框架不改调出骗15分直接给关(我不信有人能调出没注释的2kB代码)

#include"bits/stdc++.h" 
using namespace std;
int n,ans=0,place;
int lizi[2004][4];
bool used[2004];
bool flag=true;
int main()
{
	string s;
	cin>>s;
	n=s.size();
	for (int i=0;i<s.size();i++)
	{
		char k=s[i];
		if (int(k)==43)
		{
			lizi[i][0]=1;
			lizi[i][1]=-1;
			lizi[i][2]=(i+1);
			lizi[i][3]=1;
		}
		if (int(k)==45)
		{
			lizi[i][0]=2;
			lizi[i][1]=1;
			lizi[i][2]=(i+1);
			lizi[i][3]=1;
		}
	}
	while (flag)
	{
		flag=false;
		memset(used,false,sizeof(used));
		for (int i=1;i<=n;i++)
		{
			if (lizi[i][1]==-1)
			{
				flag=true;
			}
			if ((lizi[i][2]==n)&&(lizi[i][1]==1))
			{
				lizi[i][3]=0;
			}
			if ((lizi[i][2]==-1)&&(lizi[i][0]>2))
			{
				ans++;
				lizi[i][3]=0;
			}
			if (lizi[i][3])
			{
				used[lizi[i][2]]=true;
			}
		}
		if (!flag)
		{
			printf("%d",ans);
			return 0;
		}
		for (int i=1;i<=n;i++)
		{
			used[lizi[i][2]]=false;
			lizi[i][2]+=lizi[i][1];
			if (used[lizi[i][2]])
			{
				for (int j=1;j<=n;j++)
				{
					if (lizi[j][2]==lizi[i][2])
					{
						if (j!=i)
						{
							place=j;
						}
					}
				}
				if (lizi[i][0]!=lizi[place][0])
				{
					if (lizi[i][0]==1&&lizi[place][0]==2)
					{
						lizi[i][0]=4;
						lizi[place][0]=3;
					}
					if (lizi[i][0]==2&&lizi[place][0]==1)
					{
						lizi[i][0]=3;
						lizi[place][0]=4;
					}
					if (lizi[i][0]==1&&lizi[place][0]==4)
					{
						lizi[i][0]=2;
						lizi[place][0]=3;
					}
					if (lizi[i][0]==4&&lizi[place][0]==1)
					{
						lizi[i][0]=3;
						lizi[place][0]=2;
					}
					if (lizi[i][0]==2&&lizi[place][0]==3)
					{
						lizi[i][0]=1;
						lizi[place][0]=4;
					}
					if (lizi[i][0]==3&&lizi[place][0]==2)
					{
						lizi[i][0]=4;
						lizi[place][0]=1;
					}
					if (lizi[i][0]==3&&lizi[place][0]==4)
					{
						lizi[i][0]=2;
						lizi[place][0]=1;
					}
					if (lizi[i][0]==4&&lizi[place][0]==3)
					{
						lizi[i][0]=1;
						lizi[place][0]=2;
					}
				}
			}
			used[lizi[i][2]]=true;
		}
	}
	printf("%d",ans);
	return 0;
}
2023/10/1 18:14
加载中...