結果
問題 | No.11 カードマッチ |
ユーザー | ktg |
提出日時 | 2016-04-25 20:50:05 |
言語 | C++11 (gcc 13.3.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,952 bytes |
コンパイル時間 | 550 ms |
コンパイル使用メモリ | 68,832 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-11 20:04:31 |
合計ジャッジ時間 | 1,237 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 WA * 1 |
ソースコード
//#include <algorithm>//#include <cmath>//#include <cstring>#include <iostream>#include <map>#include <numeric>//#include <queue>#include <set>//#include <sstream>//#include <stack>#include <string>#include <vector>#include <iterator>//#define pb push_back//#define puts(x) cout << #x << " : " << x << endl;//#pragma GCC diagnostic ignored "-Wconversion"//#define REP(i,n) for (int i=0;i<(n);i++)//#define REPE(i,n) for (int i=0;i<=(n);i++)//#define init(a,b) memset((a), (b), (sizeof(a)));//#define PI 3.14159265//#define EPS (1e-10)//#define EQ(a,b) (abs((a)-(b)) < EPS)using namespace std;typedef long long ll;//#define int long longtypedef pair<int, int> P;int s[105], k[105];signed main() {int w,h,n;cin>>w>>h>>n;ll res = 0;set<int> used_s, used_k;for(int i=0;i<n;i++)cin>>s[i]>>k[i];for(int i=0;i<n;i++){ll t = 0;ll used_s_size = used_s.size();if (used_s.count(s[i]) == 0) {// 同じマークのマッチ// 数字の数だけマッチするt = h - 1;// すでに数字側マッチで利用したマーク分を引くt -= used_k.size();t = max(t, 0ll);res += t;// cout<<"a:"<<i<<':'<<s[i]<<':'<<k[i]<<':'<<t<<endl;used_s.insert(s[i]);} else {// res--;}if (used_k.count(k[i]) == 0) {// 同じ数字のマッチ// マークの数だけマッチするt = w - 1;// マーク側マッチで利用した分を引くt -= used_s_size;t = max(t, 0ll);res += t;// cout<<"b:"<<i<<':'<<s[i]<<':'<<k[i]<<':'<<t<<endl;used_k.insert(k[i]);}else{// res--;}// cout<<"c:"<<i<<':'<<s[i]<<':'<<k[i]<<':'<<t<<endl;}cout<<res<<endl;return 0;}