Submission #1175335


Source Code Expand

#include <bits/stdc++.h>
 
using namespace std;

typedef pair<int,int> P;
typedef pair<P,int> PP; 
 
int R,C,N;

PP G[100005]; 

int c[100005],r[100005],A[100005],X[100005],Y[100005];

vector<P> ex[100005],ey[100005]; bool xx[100005];

const int INF=1000000005;

void dfs(int a,bool b){

	if(!b){
		while(ex[a].size()){
			if(c[ex[a][0].first]!=INF){
				ex[a].erase(ex[a].begin());
			}
			else{
				c[ex[a][0].first]=ex[a][0].second-r[a];
				dfs(ex[a][0].first,1);
				ex[a].erase(ex[a].begin());
			}
	    }
	}else{
		while(ey[a].size()){
			if(r[ey[a][0].first]!=INF){
				ey[a].erase(ey[a].begin());
			}
			else{
				r[ey[a][0].first]=ey[a][0].second-c[a];
				dfs(ey[a][0].first,0);
				ey[a].erase(ey[a].begin());
			}
		}
	}

	return;
}
 
int main(){             
  
  cin>>R>>C>>N; 
  
  for(int i=0; i<N; i++) scanf("%d %d %d", &G[i].first.first, &G[i].first.second, &G[i].second);

  sort(G,G+N);

  for(int i=0; i<N; i++){
  	X[i]=G[i].first.first; xx[X[i]]=1;
  	Y[i]=G[i].first.second;
  	A[i]=G[i].second;
  }

  for(int i=0; i<100005; i++){
  	c[i]=INF; r[i]=INF;
  }

  for(int i=0; i<N; i++){
  	ex[X[i]].push_back(P(Y[i],A[i]));
  	ey[Y[i]].push_back(P(X[i],A[i]));
  }

  for(int i=1; i<=R; i++){
  	if(xx[i]&&r[i]==INF){
  		r[i]=0; dfs(i,0);
  	}
  }

  for(int i=0; i<N; i++){
  	if(r[X[i]]!=INF&&c[Y[i]]!=INF){
  		if(r[X[i]]+c[Y[i]]!=A[i]){
  			cout<<"No"<<endl; return 0;
  		}
  	}
  }

  int x=INF,y=INF; int p,q;

  for(int i=1; i<=R; i++){
  	if(r[i]<x){
  		x=r[i]; p=i;
  	}
  }

  for(int i=1; i<=C; i++){
  	if(c[i]<y){
  		y=c[i]; q=i;
  	}
  }

  if(r[p]+c[q]<0){
  	cout<<"No"<<endl; return 0;
  }

  cout<<"Yes"<<endl;
  
  return 0;
 
}    

Submission Info

Submission Time
Task D - Grid and Integers
User momotaro1303
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1787 Byte
Status WA
Exec Time 107 ms
Memory 14464 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:51:96: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   for(int i=0; i<N; i++) scanf("%d %d %d", &G[i].first.first, &G[i].first.second, &G[i].second);
                                                                                                ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 800
Status
AC × 5
AC × 48
WA × 21
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 6912 KB
0_01.txt AC 4 ms 6912 KB
0_02.txt AC 4 ms 6912 KB
0_03.txt AC 4 ms 6912 KB
0_04.txt AC 4 ms 6912 KB
1_00.txt AC 4 ms 6912 KB
1_01.txt AC 4 ms 6912 KB
1_02.txt AC 4 ms 6912 KB
1_03.txt AC 4 ms 6912 KB
1_04.txt AC 4 ms 6912 KB
1_05.txt AC 4 ms 6912 KB
1_06.txt AC 47 ms 14464 KB
1_07.txt AC 53 ms 14464 KB
1_08.txt AC 51 ms 12288 KB
1_09.txt AC 52 ms 12288 KB
1_10.txt AC 54 ms 11264 KB
1_11.txt AC 53 ms 11264 KB
1_12.txt AC 59 ms 14464 KB
1_13.txt AC 58 ms 14336 KB
1_14.txt AC 58 ms 14336 KB
1_15.txt AC 58 ms 14464 KB
1_16.txt AC 53 ms 13312 KB
1_17.txt WA 56 ms 14208 KB
1_18.txt WA 56 ms 13952 KB
1_19.txt WA 56 ms 13952 KB
1_20.txt AC 36 ms 10240 KB
1_21.txt WA 17 ms 8576 KB
1_22.txt WA 6 ms 7168 KB
1_23.txt WA 35 ms 10368 KB
1_24.txt AC 44 ms 11008 KB
1_25.txt AC 36 ms 10240 KB
1_26.txt WA 6 ms 7296 KB
1_27.txt WA 9 ms 7552 KB
1_28.txt AC 55 ms 12288 KB
1_29.txt WA 20 ms 8832 KB
1_30.txt AC 52 ms 11904 KB
1_31.txt WA 22 ms 9216 KB
1_32.txt AC 44 ms 10880 KB
1_33.txt AC 53 ms 11904 KB
1_34.txt WA 9 ms 7680 KB
1_35.txt AC 107 ms 10496 KB
1_36.txt WA 11 ms 7808 KB
1_37.txt AC 24 ms 8960 KB
1_38.txt WA 40 ms 10880 KB
1_39.txt WA 14 ms 8320 KB
1_40.txt WA 40 ms 10624 KB
1_41.txt WA 20 ms 9088 KB
1_42.txt AC 47 ms 11264 KB
1_43.txt AC 37 ms 10496 KB
1_44.txt AC 45 ms 11264 KB
1_45.txt AC 16 ms 8192 KB
1_46.txt AC 52 ms 11776 KB
1_47.txt AC 19 ms 8576 KB
1_48.txt AC 18 ms 8448 KB
1_49.txt WA 8 ms 7552 KB
1_50.txt AC 30 ms 9728 KB
1_51.txt AC 51 ms 11776 KB
1_52.txt WA 7 ms 7424 KB
1_53.txt WA 10 ms 7936 KB
1_54.txt WA 18 ms 8576 KB
1_55.txt AC 24 ms 8960 KB
1_56.txt AC 37 ms 10496 KB
1_57.txt AC 54 ms 12032 KB
1_58.txt AC 46 ms 11264 KB
1_59.txt WA 6 ms 7296 KB
1_60.txt AC 4 ms 6912 KB
1_61.txt AC 4 ms 6912 KB
1_62.txt AC 4 ms 6912 KB
1_63.txt AC 4 ms 6912 KB