結果
問題 | No.11 カードマッチ |
ユーザー |
![]() |
提出日時 | 2016-09-19 16:32:26 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 731 bytes |
コンパイル時間 | 448 ms |
コンパイル使用メモリ | 55,880 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-17 09:56:14 |
合計ジャッジ時間 | 1,143 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
#include <iostream> struct Card { int s, k; }; int main() { int w, h, n; std::cin.tie(0); std::ios::sync_with_stdio(false); std::cin >> w; std::cin >> h; std::cin >> n; Card* card = new Card[n]; int count = 0; int sf, kf, rs = 0, rk = 0; for (int i = 0; i < n; ++i) { std::cin >> card[i].s; std::cin >> card[i].k; for (sf = 0; sf < i; ++sf) { if (card[i].s == card[sf].s) { sf = -1; ++rk; break; } } for (kf = 0; kf < i; ++kf) { if (card[i].k == card[kf].k) { kf = -1; ++rs; break; } } if (sf < 0 && kf < 0) { --count; } else { count += (sf >= 0) ? h - 1 - sf + rs : sf; count += (kf >= 0) ? w - 1 - kf + rk : kf; } } std::cout << count << std::endl; }