結果
問題 | No.1225 I hate I hate Matrix Construction |
ユーザー |
|
提出日時 | 2020-09-11 21:35:10 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 2,202 bytes |
コンパイル時間 | 1,764 ms |
コンパイル使用メモリ | 172,688 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-27 05:34:53 |
合計ジャッジ時間 | 2,874 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 35 |
ソースコード
#include <bits/stdc++.h>using namespace std;#define SZ(x) (int)(x.size())#define REP(i, n) for(int i=0;i<(n);++i)#define FOR(i, a, b) for(int i=(a);i<(b);++i)#define RREP(i, n) for(int i=(int)(n);i>=0;--i)#define RFOR(i, a, b) for(int i=(int)(a);i>=(int)(b);--i)#define ALL(a) (a).begin(),(a).end()#define DUMP(x) cerr<<#x<<" = "<<(x)<<endl#define DEBUG(x) cerr<<#x<<" = "<<(x)<<" (L"<<__LINE__<<")"<< endl;using ll = long long;using vi = vector<int>;using vvi = vector<vi>;using vll = vector<ll>;using vvll = vector<vll>;using P = pair<int, int>;const double eps = 1e-8;const ll MOD = 1000000007;const int INF = INT_MAX / 2;const ll LINF = LLONG_MAX / 2;template <typename T1, typename T2>bool chmax(T1 &a, const T2 &b) {if(a < b) {a = b; return true;}return false;}template <typename T1, typename T2>bool chmin(T1 &a, const T2 &b) {if(a > b) {a = b; return true;}return false;}template<typename T1, typename T2>ostream& operator<<(ostream &os, const pair<T1, T2> p) {os << p.first << ":" << p.second;return os;}template<class T>ostream &operator<<(ostream &os, const vector<T> &v) {REP(i, SZ(v)) {if(i) os << " ";os << v[i];}return os;}int main() {cin.tie(0);ios::sync_with_stdio(false);cout << fixed << setprecision(10);int n; cin >> n;vi s(n), t(n);REP(i, n) cin >> s[i];REP(i, n) cin >> t[i];vvi v(n, vi(n, -1));REP(i, n) {if(s[i] == 0) {REP(j, n) {v[i][j] = 0;}} else if(s[i] == 2) {REP(j, n) {v[i][j] = 1;}}}REP(j, n) {if(t[j] == 0) {REP(i, n) {v[i][j] = 0;}} else if(t[j] == 2) {REP(i, n) {v[i][j] = 1;}}}int cnti = 0, cntj = 0;REP(i, n) {if(s[i] == 1) {bool ok = true;REP(j, n) {ok &= v[i][j] != 1;}cnti += ok;}}REP(j, n) {if(t[j] == 1) {bool ok = true;REP(i, n) {ok &= v[i][j] != 1;}cntj += ok;}}int ans = max(cnti, cntj);REP(i, n) {REP(j, n) {ans += v[i][j] == 1;}}cout << ans << endl;return 0;}