Submission

Status:

PPPPPPPPPP

Score: 100

User: modx9572

Problemset: หุ่นพัง

Language: c

Time: 0.014 second

Submitted On: 2025-05-02 08:57:07

#include <stdio.h>
int main(){
	int m,n,i,j,c,d,a,b;
	scanf("%d",&m);
	n=m;
	int t=2*m,ans=0;
	
	int num[m][n];
	char map[m][n];
	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			num[i][j]=-1;
			scanf(" %c",&map[i][j]);
		}
	}
	
//	for(i=0;i<m;i++){
//		for(j=0;j<n;j++){
//			printf("%d",num[i][j]);
//		}
//		printf("\n");
//	}
	for(a=0;a<m;a++){
		for(b=0;b<n;b++){
//	int a=1,b=1;
			if(map[a][b]=='X'){
				continue;
			}
			int k;
			for(c=0;c<m;c++){
				for(d=0;d<n;d++){
					num[c][d]=-1;
				}
			}
			num[a][b]=0;
			for(k=0;k<t;k++){
				for(i=0;i<m;i++){
					for(j=0;j<n;j++){
						if(num[i][j]==k){
							if(i+1<m&&map[i+1][j]!='X'&&num[i+1][j]==-1){
								num[i+1][j]=num[i][j]+1;
							}		
							if(j+1<n&&map[i][j+1]!='X'&&num[i][j+1]==-1){
								num[i][j+1]=num[i][j]+1;
							}
						}
					}
				}	
			}
			if(num[m-1][n-1]!=-1){
				ans++;	
			}
//			for(i=0;i<m;i++){
//				for(j=0;j<n;j++){
//					printf("%3d",num[i][j]);
//				}
//				printf("\n");
//			}	
//			printf("\n");		
		}
	}
	printf("%d",ans);

	
}

/*6 
.X...X
...X..
.X.X..
.XX...
.XX...
......*/