제출 #862191

#제출 시각아이디문제언어결과실행 시간메모리
862191TAhmed33Set (COCI21_set)C++98
40 / 110
314 ms604 KiB
#include <bits/stdc++.h> using namespace std; int op (string a, string b) { int ret = 0; for (int i = 0; i < (int)a.length(); i++) { ret *= 3; if (a[i] == b[i]) ret += a[i] - '0'; else if (a[i] == '1' && b[i] == '2') { ret += 3; } else if (a[i] == '2' && b[i] == '1') { ret += 3; } else if (a[i] == '1' && b[i] == '3') { ret += 2; } else if (a[i] == '3' && b[i] == '1') { ret += 2; } else { ret++; } } return ret; } int freq[6563]; int hsh[2188]; string arr[2188]; int hashh (string s) { int cnt = 0; for (int i = 0; i < s.length(); i++) { cnt *= 3; cnt += (s[i] - '0'); } return cnt; } int main () { ios::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; for (int i = 0; i < n; i++) { cin >> arr[i]; hsh[i] = hashh(arr[i]); freq[hsh[i]]++; } long long ans = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (i == j) continue; ans += freq[op(arr[i], arr[j])]; if (hsh[i] == hsh[j]) ans -= 2; } } ans /= 6; cout << ans << '\n'; }

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

Main.cpp: In function 'int hashh(std::string)':
Main.cpp:27:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |  for (int i = 0; i < s.length(); i++) {
      |                  ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...