Submission #241754

#TimeUsernameProblemLanguageResultExecution timeMemory
241754dsjong영역 (JOI16_ho_t4)C++14
15 / 100
160 ms30676 KiB
#include <bits/stdc++.h>
using namespace std;
map<pair<int, int>, bool>mp;
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	int n, k;
	string s;
	cin>>n>>k>>s;
	assert(k==1 || n<=60);
	int x=0, y=0;
	mp[{0, 0}]=true;
	set<pair<int, int>>v;
	v.insert({0, 0});
	for(int i=0;i<n;i++){
		if(s[i]=='E') x++;
		if(s[i]=='W') x--;
		if(s[i]=='N') y--;
		if(s[i]=='S') y++;
		mp[{x, y}]=true;
		v.insert({x, y});
	}
	int dy=y, dx=x;
	set<pair<int, int>>v2;
	for(int i=0;i<k;i++){
		for(auto [x, y]:v){
			v2.insert({x+i*dx, y+i*dy});
			mp[{x+i*dx, y+i*dy}];
		}
	}
	int cnt=0;
	for(auto i:v2){
		int x=i.first, y=i.second;
		if(mp[{x+1, y}] && mp[{x, y+1}] && mp[{x+1, y+1}]){
			cnt++;
		}
	}
	cout<<cnt;
}

Compilation message (stderr)

2016_ho_t4.cpp: In function 'int main()':
2016_ho_t4.cpp:27:12: warning: decomposition declaration only available with -std=c++1z or -std=gnu++1z
   for(auto [x, y]:v){
            ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...