Wrong Answer On Test #5
查看原帖
Wrong Answer On Test #5
484006
sqrtDataStructure楼主2021/5/19 14:37

有人遇到同样的问题吗?
能分享一下解决方法吗/kk

#include <algorithm>
#include <cstdio>
#define _for(i_,a_,b_) for(int i_ = a_;i_ < b_;++i_)
#define _rep(i_,a_,b_) for(int i_ = a_;i_ <= b_;++i_)
typedef long long ll;
int light[10500],cnt;
int main(){
	int n,r;
	scanf("%d%d",&n,&r);
	_rep(i,1,n)
		scanf("%d",&light[i]);
	_rep(i,1,n){
		if(light[i] != 0)
			continue;
		for(int j = std::min(i + r - 1,n);j > i ;--j)
			if(light[j] == 1){
				for(int flatten = std::max(j-r+1,1);flatten<=std::min(j+r-1,n);++flatten)
					if(light[flatten] != 1)light[flatten] = 2;
				goto fucking_end;
			}
			
		for(int j = i - 1;j >= std::max(i - r + 1,1);--j)
			if(light[j] == 1){
				for(int flatten = std::max(j-r+1,1);flatten<=std::min(j+r-1,n);++flatten)
					if(light[flatten] != 1)light[flatten] = 2;
				goto fucking_end;
			}
		
		puts("-1");
		return 0;
		
		fucking_end:++cnt;
	}
	printf("%d",cnt);
    return 0;
}

忽略那个f**king end

2021/5/19 14:37
加载中...