Submission #488525

#TimeUsernameProblemLanguageResultExecution timeMemory
488525rainboySet (COCI21_set)C11
10 / 110
3 ms332 KiB
#include <stdio.h> #define K 5 #define A 243 int sub(int a, int b) { return b == 0 ? a : sub(a / 3, b / 3) * 3 + (a % 3 - b % 3 + 3) % 3; } int main() { static int cnt[A]; int n, k, i, a, b; long long ans; scanf("%d%d", &n, &k); for (i = 0; i < n; i++) { static char cc[K + 1]; int h; scanf("%s", cc); a = 0; for (h = 0; h < k; h++) a = a * 3 + (cc[h] - '1'); cnt[a]++; } ans = 0; for (a = 0; a < A; a++) for (b = 0; b < A; b++) ans += (long long) cnt[a] * cnt[b] * cnt[sub(sub(0, a), b)]; for (a = 0; a < A; a++) { ans -= (long long) cnt[a] * cnt[a] * cnt[a]; ans += (long long) cnt[a] * (cnt[a] - 1) * (cnt[a] - 2); } ans /= 6; printf("%lld\n", ans); return 0; }

Compilation message (stderr)

Main.c: In function 'main':
Main.c:15:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |  scanf("%d%d", &n, &k);
      |  ^~~~~~~~~~~~~~~~~~~~~
Main.c:20:3: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 |   scanf("%s", cc);
      |   ^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...