結果
問題 |
No.1166 NADA DNA
|
ユーザー |
![]() |
提出日時 | 2020-08-14 02:33:19 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,099 bytes |
コンパイル時間 | 1,007 ms |
コンパイル使用メモリ | 97,228 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-09 20:47:53 |
合計ジャッジ時間 | 3,947 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 1 WA * 19 |
ソースコード
/* -*- coding: utf-8 -*- * * 1166.cc: No.1166 NADA DNA - yukicoder */ #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream> #include<string> #include<vector> #include<map> #include<set> #include<stack> #include<list> #include<queue> #include<deque> #include<algorithm> #include<numeric> #include<utility> #include<complex> #include<functional> using namespace std; /* constant */ const int MAX_N = 1000; const int MAX_M = MAX_N * (MAX_N - 1) / 2; const int MAX_L = 50; /* typedef */ /* global variables */ char gs[MAX_N][MAX_L + 4]; int ds[MAX_M]; /* subroutines */ inline int hdist(char s[], char t[], int l) { int d = 0; for (int i = 0; i < l; i++) if (s[i] != t[i]) d++; return d; } /* main */ int main() { int n, l; scanf("%d%d", &n, &l); for (int i = 0; i < n; i++) scanf("%s", gs[i]); int m = 0; for (int i = 0; i < n; i++) for (int j = i + 1; j < n; j++) ds[m++] = hdist(gs[i], gs[j], l); sort(ds, ds + m); int sum = 0; for (int i = 0; i < n - 1; i++) sum += ds[i]; printf("%d\n", sum); return 0; }