求助
  • 板块学术版
  • 楼主Miracle_InDream
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/20 22:02
  • 上次更新2025/1/21 09:51:04
查看原帖
求助
955954
Miracle_InDream楼主2025/1/20 22:02

电脑重启更新前极限发个求助帖,顺便存个代码。

昨天 Fwb Round 1 的 T3

这玩意儿没过样例:

#include<bits/stdc++.h>
using namespace std;
const int N=25;
int t,n;
int a[N];
int z[N];
int main()
{
	cin>>t>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	for(int i=1;i<=t;i++)
	{
		int m;
		cin>>m;
		int b[N];
		memset(b,0,sizeof(b));
		int d[N];
		memset(d,0,sizeof(d));
		bool flag=1;
		int x=0;
		for(int j=1;j<=m;j++)
		{
			int c,id1,id2;
			cin>>c>>id1>>id2;
			if((id1>n||id2>n||(z[id1]==0&&a[id1]!=3&&a[id1]!=4))&&flag)
			{
				cout<<"Wrong"<<endl;
				flag=0;
			}
			if(c==0&&d[id1]==0&&a[id1]==1&&id1!=id2)
			{
				b[id2]=0;
				d[id1]=1;
				z[id2]=0;
				x++;
			}
			else if(c==1&&d[id1]==0&&a[id1]==4&&id1!=id2)
			{
				b[id2]=0;
				d[id1]=1;
				z[id2]=0;
				x++;
			}
			else if(c==2&&d[id1]==0&&a[id1]==4&&z[id2]==0)
			{
				b[id2]=1;
				d[id1]=1;
				z[id2]=0;
				x--;
			}
			else if(c==3&&d[id1]==0&&a[id1]==3&&z[id2]==1&&z[id1]==0)
			{
				b[id2]=0;
				z[id2]=0;
				x++;
			}
			else
			{
				cout<<"Wrong"<<endl;
				flag=0;
			}
		}
		if(flag)
		{
			if(x==0)
		{
			cout<<"Safe"<<endl;
			continue;
		}
		cout<<x<<' ';
		for(int i=1;i<=n;i++)
		{
			if(b[i]==0)
			{
				cout<<i<<' ';
			}
		}
		cout<<endl;
		}
	}
	return 0;
}
2025/1/20 22:02
加载中...