CODE FESTIVAL 2016 qual A

Submission #1164284

Source codeソースコード

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

typedef pair<int,int> P;
typedef pair<P,int> PP; 

map<int,int> m[100005],l[100005];
 
int R,C,N,n;

PP G[100005]; 

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

const int INF=1000000005;

void dfs(int a,int b){

	if(!l[a][b]) return;

	if(r[a]!=INF&&c[b]!=INF) return;

	if(r[a]==INF&&c[b]!=INF){
  		r[a]=m[a][b]-c[b]; 
  	}
  	if(r[a]!=INF&&c[b]==INF){
  		c[b]=m[a][b]-r[a]; 
  	}
  	if(a-1>=1) dfs(a-1,b); 
  	
  	if(a+1<=R) dfs(a+1,b); 
  	
  	if(b-1>=1) dfs(a,b-1); 
  	
  	if(b+1<=C) dfs(a,b+1); 

  	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;
  	Y[i]=G[i].first.second;
  	A[i]=G[i].second;
  }

  for(int i=0; i<N; i++){
  	m[X[i]][Y[i]]=A[i];
  	l[X[i]][Y[i]]=1;
  }

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

  c[Y[0]]=0;

  for(int i=0; i<N; i++){
  	if(Y[i]==Y[0]){
  		r[X[i]]=A[i]; 
  	}
  }

  for(int i=0; i<N; i++){
  	if(r[X[i]]==INF&&c[Y[i]]==INF) continue;
  	if(r[X[i]]==INF||c[Y[i]]==INF) dfs(X[i],Y[i]);
  }

  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;

  //cout<<r[2]<<endl;
  
  return 0;
 
}    

Submission

Task問題 D - マス目と整数 / Grid and Integers
User nameユーザ名 @momo56
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 WA
Score得点 0
Source lengthソースコード長 1733 Byte
File nameファイル名
Exec time実行時間 ms
Memory usageメモリ使用量 -

Compiler messageコンパイルメッセージ

./Main.cpp: In function ‘int main()’:
./Main.cpp:46: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);
^

Test case

Set

Set name Score得点 / Max score Cases
Sample - 0_00.txt,0_01.txt,0_02.txt,0_03.txt,0_04.txt
All 0 / 800 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
0_00.txt AC 5 ms 11520 KB
0_01.txt AC 6 ms 11520 KB
0_02.txt AC 5 ms 11520 KB
0_03.txt AC 5 ms 11520 KB
0_04.txt AC 5 ms 11520 KB
1_00.txt AC 6 ms 11520 KB
1_01.txt AC 6 ms 11520 KB
1_02.txt AC 6 ms 11520 KB
1_03.txt AC 5 ms 11520 KB
1_04.txt AC 5 ms 11520 KB
1_05.txt AC 5 ms 11520 KB
1_06.txt AC 49 ms 22144 KB
1_07.txt AC 54 ms 22144 KB
1_08.txt AC 51 ms 22144 KB
1_09.txt WA
1_10.txt AC 55 ms 22144 KB
1_11.txt WA
1_12.txt AC 55 ms 22144 KB
1_13.txt WA
1_14.txt AC 56 ms 22144 KB
1_15.txt WA
1_16.txt AC 51 ms 22144 KB
1_17.txt AC 53 ms 22144 KB
1_18.txt WA
1_19.txt AC 53 ms 22144 KB
1_20.txt WA
1_21.txt AC 19 ms 14464 KB
1_22.txt AC 7 ms 11904 KB
1_23.txt AC 36 ms 18048 KB
1_24.txt WA
1_25.txt WA
1_26.txt AC 9 ms 12160 KB
1_27.txt AC 11 ms 12672 KB
1_28.txt WA
1_29.txt AC 21 ms 14976 KB
1_30.txt WA
1_31.txt AC 24 ms 15488 KB
1_32.txt AC 53 ms 22144 KB
1_33.txt WA
1_34.txt AC 12 ms 12800 KB
1_35.txt AC 66 ms 27264 KB
1_36.txt AC 12 ms 13056 KB
1_37.txt WA
1_38.txt AC 41 ms 18944 KB
1_39.txt AC 16 ms 13824 KB
1_40.txt AC 40 ms 18816 KB
1_41.txt AC 22 ms 14976 KB
1_42.txt WA
1_43.txt WA
1_44.txt WA
1_45.txt WA
1_46.txt WA
1_47.txt AC 22 ms 14976 KB
1_48.txt WA
1_49.txt AC 11 ms 12544 KB
1_50.txt WA
1_51.txt WA
1_52.txt AC 8 ms 12160 KB
1_53.txt AC 12 ms 13056 KB
1_54.txt AC 21 ms 14592 KB
1_55.txt AC 30 ms 17792 KB
1_56.txt WA
1_57.txt WA
1_58.txt WA
1_59.txt AC 8 ms 12032 KB
1_60.txt AC 5 ms 11520 KB
1_61.txt AC 5 ms 11520 KB
1_62.txt AC 5 ms 11520 KB
1_63.txt AC 5 ms 11520 KB