Submission #1696359


Source Code Expand

//#define __USE_MINGW_ANSI_STDIO 0
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
#define int ll
typedef vector<int> VI;
typedef vector<VI> VVI;
typedef vector<ll> VL;
typedef vector<VL> VVL;
typedef pair<int, int> PII;

#define FOR(i, a, n) for (ll i = (ll)a; i < (ll)n; ++i)
#define REP(i, n) FOR(i, 0, n)
#define ALL(x) x.begin(), x.end()
#define IN(a, b, x) (a<=x&&x<b)
#define MP make_pair
#define PB push_back
#ifdef int
const ll INF = (1LL<<60);
#else
const int INF = (1LL<<30);
#endif
const double PI = 3.14159265359;
const double EPS = 1e-12;
const int MOD = 1000000007;

template <typename T> T &chmin(T &a, const T &b) { return a = min(a, b); }
template <typename T> T &chmax(T &a, const T &b) { return a = max(a, b); }

int dx[] = {0, 1, 0, -1}, dy[] = {1, 0, -1, 0};

int x[100010], y[100010], c[100010], d[200010];
vector<PII> g[200010];
bool used[200010];

void dfs(int num) {
  used[num] = true;
  for(auto i: g[num]) {
    if(used[i.first]) continue;
    d[i.first] = i.second - d[num];
    dfs(i.first);
  }
}

int mi1, mi2;
int R, C;
void dfs2(int num) {
  used[num] = true;
  for(auto i: g[num]) {
    if(used[i.first]) continue;
    if(i.first < R) chmin(mi1, d[i.first]);
    else chmin(mi2, d[i.first]);
    dfs2(i.first);
  }
}

signed main(void)
{
  cin >> R >> C;
  int n;
  cin >> n;
  REP(i, n) {
    cin >> y[i] >> x[i] >> c[i];
    x[i]--, y[i]--;
    g[x[i]+R].PB({y[i], c[i]});
    g[y[i]].PB({x[i]+R, c[i]});
  }

  REP(i, R+C) {
    if(!used[i]) {
      dfs(i);
    }
  }

  bool flag = true;
  REP(i, n) {
    if(d[x[i]+R] + d[y[i]] != c[i]) {
      flag = false;
      break;
    }
  }
  if(!flag) {
    cout << "No" << endl;
    return 0;
  }

  // REP(i, R+C) cout << d[i] << " "; cout << endl;

  memset(used, false, sizeof(used));
  REP(i, R+C) {
    if(!used[i]) {
      mi1 = INF, mi2 = INF;
      d[i] = 0;
      dfs2(i);
      // cout << i << " " << mi1 << " " << mi2 << endl;
      if(mi1 + mi2 < 0) {
        cout << "No" << endl;
        return 0;
      }
    }
  }
  cout << "Yes" << endl;

  return 0;
}

Submission Info

Submission Time
Task D - Grid and Integers
User ferin_tech
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2181 Byte
Status WA
Exec Time 140 ms
Memory 17408 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 800
Status
AC × 5
AC × 68
WA × 1
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt, 1_50.txt, 1_51.txt, 1_52.txt, 1_53.txt, 1_54.txt, 1_55.txt, 1_56.txt, 1_57.txt, 1_58.txt, 1_59.txt, 1_60.txt, 1_61.txt, 1_62.txt, 1_63.txt
Case Name Status Exec Time Memory
0_00.txt AC 4 ms 8448 KB
0_01.txt AC 4 ms 8192 KB
0_02.txt AC 4 ms 8448 KB
0_03.txt AC 4 ms 8448 KB
0_04.txt AC 4 ms 8192 KB
1_00.txt AC 5 ms 8448 KB
1_01.txt AC 5 ms 8448 KB
1_02.txt AC 5 ms 8448 KB
1_03.txt AC 4 ms 8448 KB
1_04.txt AC 5 ms 8448 KB
1_05.txt AC 4 ms 8448 KB
1_06.txt AC 101 ms 15232 KB
1_07.txt AC 130 ms 15232 KB
1_08.txt AC 102 ms 14464 KB
1_09.txt AC 103 ms 14464 KB
1_10.txt AC 130 ms 14208 KB
1_11.txt AC 125 ms 14336 KB
1_12.txt AC 140 ms 17408 KB
1_13.txt AC 130 ms 17408 KB
1_14.txt AC 138 ms 17408 KB
1_15.txt AC 138 ms 17408 KB
1_16.txt AC 111 ms 16256 KB
1_17.txt AC 121 ms 17280 KB
1_18.txt AC 119 ms 16896 KB
1_19.txt AC 125 ms 16896 KB
1_20.txt AC 78 ms 12544 KB
1_21.txt AC 37 ms 9984 KB
1_22.txt AC 8 ms 8704 KB
1_23.txt AC 78 ms 12032 KB
1_24.txt AC 96 ms 13568 KB
1_25.txt AC 78 ms 12416 KB
1_26.txt AC 10 ms 8704 KB
1_27.txt AC 16 ms 9088 KB
1_28.txt AC 124 ms 14848 KB
1_29.txt AC 42 ms 10240 KB
1_30.txt AC 118 ms 14208 KB
1_31.txt AC 48 ms 10624 KB
1_32.txt AC 97 ms 13824 KB
1_33.txt AC 115 ms 14208 KB
1_34.txt AC 17 ms 9088 KB
1_35.txt AC 100 ms 13312 KB
1_36.txt AC 20 ms 9216 KB
1_37.txt AC 48 ms 11008 KB
1_38.txt AC 89 ms 12544 KB
1_39.txt AC 29 ms 9600 KB
1_40.txt AC 86 ms 12416 KB
1_41.txt AC 42 ms 10368 KB
1_42.txt AC 102 ms 13824 KB
1_43.txt AC 77 ms 12160 KB
1_44.txt AC 98 ms 13440 KB
1_45.txt AC 31 ms 9728 KB
1_46.txt AC 113 ms 14080 KB
1_47.txt AC 40 ms 10240 KB
1_48.txt AC 36 ms 9984 KB
1_49.txt AC 15 ms 8960 KB
1_50.txt AC 66 ms 11520 KB
1_51.txt AC 112 ms 14464 KB
1_52.txt AC 12 ms 8832 KB
1_53.txt AC 21 ms 9216 KB
1_54.txt AC 38 ms 9984 KB
1_55.txt AC 48 ms 10752 KB
1_56.txt AC 79 ms 12288 KB
1_57.txt AC 117 ms 14848 KB
1_58.txt AC 100 ms 13440 KB
1_59.txt AC 9 ms 8704 KB
1_60.txt AC 4 ms 8448 KB
1_61.txt WA 4 ms 8448 KB
1_62.txt AC 4 ms 8448 KB
1_63.txt AC 4 ms 8192 KB