30分求助!!
查看原帖
30分求助!!
1389448
dedxxa楼主2024/7/7 21:35
#include<bits/stdc++.h>
using namespace std;
int n,a[105][105],sum;
int main(){
	char f;
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cin>>f;a[i][j]=f-'0';
		}
	}
	int q,w,e,r,t,y,u,o;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]&&a[i+1][j]&&a[i+1][j+1]&&a[i][j+1]){
				sum++;
				q=i-1,w=i-1,e=i+2,r=i+2;
				t=j-1,y=j+2,u=j-1,o=j+2;
				while(a[q][t]&&a[w][y]&&a[e][u]&&a[r][o]){
					sum++;
					q--;
					w--;
					t--;
					u--;
					e+=2;
					r+=2;
					y+=2;
					o+=2;
				}
			}
			if(a[i][j]){
				q=i-1,w=i-1,e=i+1,r=i+1;
				t=j-1,y=j+1,u=j-1,o=j+1;
				while(a[q][t]&&a[w][y]&&a[e][u]&&a[r][o]){
					sum++;
					q--;
					w--;
					t--;
					u--;
					e++;
					r++;
					y++;
					o++;
				}
			}
		}
	}
	cout<<sum;
	return 0;
}

只有30分

自己试了很多数据都没看出来有啥问题

2024/7/7 21:35
加载中...