求助!O2优化干了什么?
查看原帖
求助!O2优化干了什么?
916779
answerking楼主2024/3/10 10:41

这是我的代码:

#include<stdio.h>
int bx,by,cx,cy;
int dy[]={0,-2,-2,-1,-1,1,1,2,2};
int dx[]={0,-1,1,-2,2,-2,2,-1,1};
bool vis[100][100];
long long map[100][100];
int main(){
	scanf("%d%d%d%d",&bx,&by,&cx,&cy);
	for(int i=0;i<=8;i++){
		if(cx+dx[i]>=0&&cy+dy[i]<=bx)
			vis[cx+dx[i]][cy+dy[i]]=1;	
	}
	if(vis[0][0]==1){
		puts("0");
		return 0;
	}
	map[0][0]=1;
	vis[0][0]=1;
	for(int i=0;i<=bx;i++){
		for(int j=0;j<=by;j++){
			if(!vis[i][j]){
				map[i][j]=map[i][j-1]+map[i-1][j];
			}
		}
	}
	printf("%lld",map[bx][by]);
	return 0;
} 

我提交时发现,如果开启O2优化,这份代码0分。如果不开,这份代码可以AC此题。为什么啊

2024/3/10 10:41
加载中...