求助!!试过无数个例子都能过但全WA
  • 板块P1188 PASTE
  • 楼主wsgdsgqq
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/7/20 16:39
  • 上次更新2024/7/20 17:49:36
查看原帖
求助!!试过无数个例子都能过但全WA
936561
wsgdsgqq楼主2024/7/20 16:39

明明处理得都对但是全WA

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int k,n,m,d;
const int N=100010;
int f[N];
int temp[N],t[N];
int main()
{
	scanf("%d %d",&n,&k);
	for(int i=1;i<=n;i++)f[i]=i;
	while(k--)
	{
		int l,r,w,len=0,len1=0;
		scanf("%d %d %d",&l,&r,&w);
		memset(temp,0,sizeof temp);
		memset(t,0,sizeof t);
		for(int i=l;i<=r;i++)//存储l~r的所有数字 
			temp[++len]=f[i],f[i]=0;
		if(r<=w)
		{ 
		    for(int i=r+1;i<=w;i++)
		    	t[++len1]=f[i];
		    int i=l;
		    for(int j=1;j<=len1;j++,i++)
		    {
		    	f[i]=t[j];
			}
			for(int j=1;i<=w;j++,i++)
				f[i]=temp[j];
		}
		else
		{
			w++;
			for(int i=w;i!=l&&i<=n;i++)
				t[++len1]=f[i],f[i]=0;
			for(int i=w,j=1;j<=len;i++,j++)//将l~r的数字放到w后
				f[i]=temp[j];
			for(int i=w+len,j=1;i<=r;i++,j++)
				f[i]=t[j];
		}
//		for(int i=1;i<=n;i++)
//			cout<<f[i]<<" ";
//		puts(""),puts("");
	}
	for(int i=1;i<=10;i++)
		printf("%d\n",f[i]);
	return 0;
}
2024/7/20 16:39
加载中...