結果

問題 No.307 最近色塗る問題多くない?
コンテスト
ユーザー ciel
提出日時 2015-11-29 01:43:10
言語 C++11
(gcc 15.3.0 + boost 1.92.0)
コンパイル:
g++-15 -O2 -fplugin=/usr/lib/yukicoder/noavx512-gcc15.so -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
AC  
実行時間 165 ms / 4,000 ms
+ 532µs
コード長 504 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 97 ms
コンパイル使用メモリ 41,496 KB
実行使用メモリ 9,916 KB
最終ジャッジ日時 2026-09-27 19:14:40
合計ジャッジ時間 3,540 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge4_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 36
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <stdio.h>
int a[200][200],H,W,Q,R,C,X,Z=-1,h,w;
int dfs(int x,int y,int c){
	if(x<0||W<=x || y<0||H<=y || a[y][x]==c)return 0;
	a[y][x]=c;
	return 1+dfs(x-1,y,c)+dfs(x+1,y,c)+dfs(x,y-1,c)+dfs(x,y+1,c);
}
int main(){
	for(scanf("%d%d",&H,&W);h<H;h++)for(w=0;w<W;w++)scanf("%d",&a[h][w]);
	for(scanf("%d",&Q);Q;Q--){
		scanf("%d%d%d",&R,&C,&X);R--,C--;
		if(dfs(C,R,X)==H*W)break;
	}
	for(;Q--;)scanf("%d%d%d",&R,&C,&Z);
	for(h=0;h<H;h++)for(w=0;w<W;w++)printf(w<W-1?"%d ":"%d\n",Z<0?a[h][w]:Z);
}
0