제출 #923753

#제출 시각아이디문제언어결과실행 시간메모리
923753IsamAnagramistica (COCI21_anagramistica)C++17
0 / 110
1 ms604 KiB
#include<bits/stdc++.h>

#define speed ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define eb emplace_back
#define all(x) x.begin(), x.end()

using namespace std;

const int sz = 1001, mod = 1e9 + 7;

int n, k, a[sz];

string s[sz];

int get_cnt(int mask){
	int res(0);
	unordered_map<int, int> cnt;
	for(register int i = 1; i <= n; ++i){
		if(mask & (1 << (i - 1))) cnt[a[i]]++;
	}
	for(auto &to : cnt){
		res += to.second * (to.second - 1) / 2;
	}
	return res;
}

inline void subtsk1(){
	int ans(0);
	for(int mask = 1; mask < (1 << n); ++mask){
		ans += get_cnt(mask) == k;
	}
	cout << ans << '\n';
}

map<string, int> mp;

int cntl(1);

int main(){
	speed;
	cin >> n >> k;
	for(register int i = 1; i <= n; ++i){
		cin >> s[i];
		sort(all(s[i]));
		if(!mp[s[i]]) mp[s[i]] = cntl++;
		a[i] = mp[s[i]];
	}
	subtsk1();
	return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

anagramistica.cpp: In function 'int get_cnt(int)':
anagramistica.cpp:18:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   18 |  for(register int i = 1; i <= n; ++i){
      |                   ^
anagramistica.cpp: In function 'int main()':
anagramistica.cpp:42:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   42 |  for(register int i = 1; i <= n; ++i){
      |                   ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...