結果
| 問題 |
No.307 最近色塗る問題多くない?
|
| コンテスト | |
| ユーザー |
treeone
|
| 提出日時 | 2016-05-02 23:22:46 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,172 bytes |
| コンパイル時間 | 1,438 ms |
| コンパイル使用メモリ | 160,764 KB |
| 実行使用メモリ | 13,224 KB |
| 最終ジャッジ日時 | 2024-10-05 02:35:57 |
| 合計ジャッジ時間 | 15,333 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 34 TLE * 1 -- * 1 |
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:39:25: warning: format ‘%d’ expects argument of type ‘int*’, but argument 2 has type ‘__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type*’ {aka ‘long long int*’} [-Wformat=]
39 | scanf("%d %d %d",&r[i],&c[i],&x[i]);
| ~^
| |
| int*
| %lld
main.cpp:39:28: warning: format ‘%d’ expects argument of type ‘int*’, but argument 3 has type ‘__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type*’ {aka ‘long long int*’} [-Wformat=]
39 | scanf("%d %d %d",&r[i],&c[i],&x[i]);
| ~^
| |
| int*
| %lld
main.cpp:39:31: warning: format ‘%d’ expects argument of type ‘int*’, but argument 4 has type ‘__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type*’ {aka ‘long long int*’} [-Wformat=]
39 | scanf("%d %d %d",&r[i],&c[i],&x[i]);
| ~^
| |
| int*
| %lld
main.cpp:39:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
39 | scanf("%d %d %d",&r[i],&c[i],&x[i]);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ソースコード
#include <bits/stdc++.h>
#define rep(i,a,n) for(int i=a;i<n;i++)
#define repb(i,a,b) for(int i=a;i>=b;i--)
#define all(a) a.begin(),a.end()
#define o(a) cout<<a<<endl
#define int long long
#define fi first
#define se second
using namespace std;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int,int> pii;
int a[210][210];
int dy[4]={1,-1,0,0};
int dx[4]={0,0,1,-1};
int h,w,q;
bool f[210][210];
void dfs(int r,int c,int color,int x){
f[r][c]=true;
a[r][c]=x;
rep(i,0,4){
int ny=r+dy[i];
int nx=c+dx[i];
if(0<=ny && ny<h && 0<=nx && nx<w && a[ny][nx]==color && f[ny][nx]==false){
dfs(ny,nx,color,x);
}
}
return;
}
signed main(){
cin>>h>>w;
rep(i,0,h) rep(j,0,w) cin>>a[i][j];
cin>>q;
vi r(q),c(q),x(q);
rep(i,0,q){
scanf("%d %d %d",&r[i],&c[i],&x[i]);
}
bool g=false;
rep(i,0,q){
r[i]--; c[i]--;
int color=a[r[i]][c[i]];
rep(k,0,h) rep(j,0,w) f[k][j]=false;
dfs(r[i],c[i],color,x[i]);
int sum=0;
rep(k,0,h) rep(j,0,w) if(a[k][j]==a[0][0]) sum++;
if(sum==h*w){
g=true; break;
}
}
if(g){
rep(i,0,h) rep(j,0,w) a[i][j]=x[q-1];
}
rep(i,0,h){
rep(j,0,w){
cout<<(j?" ":"")<<a[i][j];
}
cout<<endl;
}
}
treeone