为什么会RE?
查看原帖
为什么会RE?
770457
csvoner楼主2024/8/20 11:13
#include<bits/stdc++.h>
using namespace std;
const int N=100010;
int m,n,p=1,sum,b,x,y,q,k;
int o[N],z[50][50];
int foo()
{
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			if(z[i][j]==o[p]){
				if(q==0){
					x = i;
					y = j;
					q=1;
					k -= i + 1;
					sum += o[p -- ];
					break;
				}
				k-=(abs(i-x)+abs(j-y))+1;
				x=i,y=j;
				if(k<x){
					return 1;
				}
				sum+=o[p];
				p--;
				return 0;
			}
		}
	}
}
int main()
{
	cin >> m >> n >> k ;
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			cin >> z[i][j] ;
			if(z[i][j]!=0){
				o[p]=z[i][j];
				p++;
			}
		}
	}
	p--;
	sort(o+1,o+p+1);
	while(b!=1) b=foo();

	cout << sum ;
	return 0;
}

样例都过了,但9个点 RE

2024/8/20 11:13
加载中...