蒟蒻求助
查看原帖
蒟蒻求助
247533
acwing_cht楼主2020/9/30 16:44

rt,求debug,怎么改也搞不对。

#include<bits/stdc++.h>
using namespace std;
const int N = 110;
#define debug(x) cout << #x << "=" << x << ' ';
int n, m, x;
int g[N][N];
int dx[4] = {-1, 0}, dy[4] = {0, 1};
int cnt = 0;
int main()
{
	cin >> n >> m >> x;
	for(int i = 0; i < n; i ++)
		for(int j = 0; j < m; j ++)
		{
			char op;
			cin >> op;
			if(op == '#') g[i][j] = 1;
			else g[i][j] = 0;
		}	
	if(x == 1)
	{
		for(int i = 0; i < n; i ++)
			for(int j = 0; j < m; j ++)
				if(g[i][j] == 0)
					cnt ++;
		cout << cnt << endl;
		return 0;
	}
	for(int i = 0; i < n; i ++)
		for(int j = 0; j < m; j ++)
		{
			for(int k = 0; k < 2; k ++)
			{
				if(g[i][j] != 1)
				{
					int kx = i + dx[k], ky = j + dy[k];
					int len = 0;
					while(g[kx][ky] != 1 && kx >= 0 && kx < n && ky >= 0 && ky < m)
					{
						if(dx[k] == 0) ky += dy[k];
						else kx += dx[k];
						len ++;
					}
					if(len >= x) cnt += len - x + 1;
				}
			}
		}
	cout << cnt << endl;
	return 0;
} 
2020/9/30 16:44
加载中...