結果
問題 |
No.606 カラフルタイル
|
ユーザー |
![]() |
提出日時 | 2018-06-05 19:20:21 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 197 ms / 2,000 ms |
コード長 | 715 bytes |
コンパイル時間 | 1,254 ms |
コンパイル使用メモリ | 164,816 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-30 10:02:02 |
合計ジャッジ時間 | 4,115 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 25 |
ソースコード
#include <bits/stdc++.h> using namespace std; using i64 = long long; #define rep(i,s,e) for(int (i) = (s);(i) <= (e);(i)++) i64 N,K,Q; int main(){ cin >> N >> K >> Q; vector<char> A(Q); vector<int> B(Q),C(Q); vector<i64> ans(K + 1,0); i64 r = N; i64 c = N; rep(i,0,Q - 1) cin >> A[i] >> B[i] >> C[i]; bitset<101010> rb = 0,cb = 0; for(int i = Q - 1;i >= 0;i--){ if(A[i] == 'R'){ if(rb[B[i]]) continue; rb[B[i]] = 1; ans[C[i]]+=c; r--; } else{ if(cb[B[i]]) continue; cb[B[i]] = 1; ans[C[i]]+=r; c--; } } i64 cou = 0; rep(i,1,K){ cou += ans[i]; } ans[1] += N * N - cou; rep(i,1,K){ cout << ans[i] << endl; } }