SPJ写完了,这题确实和P1259很不一样
查看原帖
SPJ写完了,这题确实和P1259很不一样
101694
yummyeaten楼主2020/7/6 20:55

yummy写完了还是不会做这道题,因此只调试了样例和几个显然错误的解。

该SPJ正确,当且仅当 @花生遇到牛奶 在这个帖子中说到的最少 n+1n+1 步是正确的。

同样地,可能没考虑所有情况,故仅供参考。如果您对评测结果有异议(AC被判WA,WA被判AC,AC被判TLE),请在本帖at我反馈。

希望 @ShineEternal @StudyingFather @mrsrz 可以采纳。

#include "testlib.h"
using namespace std;
int n,st,emp;
char a[400005];
int main(int argc,char** argv)
{
	registerTestlibCmd(argc,argv);
	n=inf.readInt();
	st=ouf.readInt(n+1,n+1);
	for(int i=1;i<=n;i++)
	{
		a[i]='1';
		a[i+n]='0';
	}
	emp=n*2+1;
	for(int i=1;i<=n+1;i++)
	{
		st=ouf.readInt(1,n*2+1);
		if(st==emp || st+1==emp || st==emp+1)
			quitf(_wa,"In step %d, you're trying to move a space.",i);
		swap(a[emp],a[st]);
		swap(a[emp+1],a[st+1]);
		emp=st;
	}
	for(int i=1;i<=n;i+=2)
		if(a[i]!='1' || a[i+1]!='0')
			quitf(_wa,"You didn't solve it in the end.");
	quitf(_ok,"You solved it! %%%%%%");
	return 0;
}
2020/7/6 20:55
加载中...