在下面c++运行的结果是正确的,为什么交上去就不行了
查看原帖
在下面c++运行的结果是正确的,为什么交上去就不行了
194952
SUPERMAN0109楼主2020/6/14 10:37

求大神看看

#include<bits/stdc++.h>
using namespace std;
int a[21][21],maxi,maxj;
struct point{
	int n,maxi,maxj;
};
int main(){
	int m,n,k,xi,xj;
	point b[401];
	xi=xj=0;
	scanf("%d %d %d",&m,&n,&k);
	for(int i=1;i<=m;i++)    
		for(int j=1;j<=n;j++)
			cin>>a[i][j];
	int c=1;					//数组编号 
	for(int i=1;i<=m;i++)   
		for(int j=1;j<=n;j++)
			if(a[i][j]>0){
				b[c].n=a[i][j];
				b[c].maxi=i;
				b[c].maxj=j;
				c++;
			}
	c--;
	int time=0,sum=0;
	int i=1;
	while(1){
		if(time+(b[i].maxi-0+(abs(xi-b[i].maxi)))>=k)
			break;
		sum+=b[i].n;
		time+=abs(xi-b[i].maxi)+abs(xj-b[i].maxj);
		xi=maxi;
		xj=maxj;
		i++;
	}
	printf("%d",sum);
	return 0;
}
2020/6/14 10:37
加载中...