Submission #2127761


Source Code Expand

// #include {{{
#include <iostream>
#include <cassert>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cctype>
#include <cmath>
#include <ctime>
#include <queue>
#include <set>
#include <map>
#include <stack>
#include <string>
#include <bitset>
#include <vector>
#include <complex>
#include <algorithm>
using namespace std;
// }}}
// #define {{{
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef vector<int> vi;
#define de(x) cout << #x << "=" << x << endl
#define rep(i,a,b) for(int i=a;i<(b);++i)
#define per(i,a,b) for(int i=(b)-1;i>=(a);--i)
#define all(x) (x).begin(),(x).end()
#define sz(x) (int)(x).size()
#define mp make_pair
#define pb push_back
#define fi first
#define se second
// }}}

const int N = 1e5 + 10;
int R , C , n , vis[N + N];
ll a[N + N];
vector<pii> g[N + N];
ll MinR , MinC;

void dfs(int c,ll num) {
  vis[c] = true;
  a[c] = num;
  if(c < R) MinR = min(MinR , num);
  else MinC = min(MinC , num);
  for(auto e : g[c]) {
    int t = e.fi;
    int x = e.se;
    if(vis[t]) {
      if(a[c] + a[t] != x) {
        puts("No");
        exit(0);
      }
    } else {
      dfs(t , x - num);
    }
  }
}

int main(){
  scanf("%d%d%d",&R,&C,&n);
  rep(i,0,n) {
    int r , c , a;
    scanf("%d%d%d",&r,&c,&a);
    --r;--c;
    c += R;
    g[r].pb(mp(c , a));
    g[c].pb(mp(r , a));
  }
  rep(i,0,R+C) if(!vis[i]) {
    MinR=MinC=1ll<<60;
    dfs(i,0);
    if(MinR+MinC<0) {
      puts("No");
      return 0;
    }
  }
  puts("Yes");
  return 0;
}

Submission Info

Submission Time
Task D - Grid and Integers
User Y_UME
Language C++14 (GCC 5.4.1)
Score 800
Code Size 1593 Byte
Status AC
Exec Time 58 ms
Memory 15104 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:63:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d%d",&R,&C,&n);
                           ^
./Main.cpp:66:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d%d",&r,&c,&a);
                             ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 5
AC × 69
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 3 ms 6400 KB
0_01.txt AC 3 ms 6400 KB
0_02.txt AC 3 ms 6400 KB
0_03.txt AC 3 ms 6400 KB
0_04.txt AC 3 ms 6400 KB
1_00.txt AC 5 ms 7296 KB
1_01.txt AC 5 ms 7296 KB
1_02.txt AC 5 ms 7296 KB
1_03.txt AC 4 ms 6528 KB
1_04.txt AC 5 ms 7296 KB
1_05.txt AC 3 ms 6400 KB
1_06.txt AC 52 ms 13568 KB
1_07.txt AC 55 ms 13568 KB
1_08.txt AC 48 ms 11392 KB
1_09.txt AC 46 ms 11392 KB
1_10.txt AC 52 ms 10368 KB
1_11.txt AC 50 ms 10368 KB
1_12.txt AC 57 ms 15104 KB
1_13.txt AC 54 ms 15104 KB
1_14.txt AC 55 ms 15104 KB
1_15.txt AC 58 ms 15104 KB
1_16.txt AC 50 ms 13312 KB
1_17.txt AC 53 ms 14848 KB
1_18.txt AC 52 ms 14336 KB
1_19.txt AC 53 ms 14464 KB
1_20.txt AC 32 ms 9600 KB
1_21.txt AC 17 ms 8064 KB
1_22.txt AC 5 ms 6912 KB
1_23.txt AC 33 ms 9728 KB
1_24.txt AC 39 ms 10368 KB
1_25.txt AC 32 ms 9472 KB
1_26.txt AC 6 ms 6784 KB
1_27.txt AC 9 ms 7424 KB
1_28.txt AC 50 ms 11392 KB
1_29.txt AC 19 ms 8320 KB
1_30.txt AC 47 ms 11008 KB
1_31.txt AC 21 ms 8960 KB
1_32.txt AC 38 ms 9984 KB
1_33.txt AC 47 ms 11008 KB
1_34.txt AC 9 ms 7296 KB
1_35.txt AC 38 ms 9088 KB
1_36.txt AC 10 ms 7424 KB
1_37.txt AC 21 ms 8448 KB
1_38.txt AC 37 ms 9984 KB
1_39.txt AC 14 ms 8064 KB
1_40.txt AC 36 ms 9856 KB
1_41.txt AC 19 ms 8832 KB
1_42.txt AC 38 ms 9728 KB
1_43.txt AC 31 ms 9600 KB
1_44.txt AC 40 ms 10240 KB
1_45.txt AC 13 ms 7680 KB
1_46.txt AC 52 ms 10880 KB
1_47.txt AC 18 ms 8064 KB
1_48.txt AC 18 ms 7808 KB
1_49.txt AC 9 ms 7168 KB
1_50.txt AC 28 ms 8960 KB
1_51.txt AC 45 ms 11136 KB
1_52.txt AC 7 ms 7296 KB
1_53.txt AC 10 ms 7680 KB
1_54.txt AC 17 ms 8064 KB
1_55.txt AC 20 ms 8064 KB
1_56.txt AC 32 ms 9600 KB
1_57.txt AC 48 ms 10880 KB
1_58.txt AC 42 ms 10368 KB
1_59.txt AC 6 ms 7040 KB
1_60.txt AC 3 ms 6400 KB
1_61.txt AC 3 ms 6400 KB
1_62.txt AC 3 ms 6400 KB
1_63.txt AC 3 ms 6400 KB