Submission #1184075

#TimeUsernameProblemLanguageResultExecution timeMemory
1184075soykCollecting Mushrooms (NOI18_collectmushrooms)C++20
60 / 100
2093 ms3304 KiB
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<vector>
using namespace std;
#define abs(x) ((x>0)?(x):(-(x)))
#define max(x,y) ((x>y)?x:y)

int main()
{
	int R, C, D, K;
	cin >> R >> C >> D >> K;
	vector<pair<int, int>> mushroom = {};
	vector<pair<int, int>> sprinkler = {};
	for (int a = 0; a < R; a++)
	{
		for (int b = 0; b < C; b++)
		{
			char in;
			cin >> in;
			if (in == 'M')
				mushroom.push_back({ a,b });
			if (in == 'S')
				sprinkler.push_back({ a,b });
		}
	}
	int s1 = mushroom.size(), s2 = sprinkler.size();
	int out=0;
	for (int a = 0; a < s1; a++)
	{
		int num = 0;
		for (int b = 0; b < s2; b++)
		{
			//cout << max(abs(mushroom[a].first - sprinkler[b].first), abs(mushroom[a].second - sprinkler[b].second))<<" ";
			if (max(abs(mushroom[a].first - sprinkler[b].first), abs(mushroom[a].second - sprinkler[b].second)) <= D)
				num++;
		}
		//cout << endl;
		if (num >= K)
			out++;
	}
	cout << out;
	//cout << endl << endl << abs((- 3)) << " " << abs((5));
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...