結果
| 問題 |
No.13 囲みたい!
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-10-14 12:27:46 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 4 ms / 5,000 ms |
| コード長 | 830 bytes |
| コンパイル時間 | 713 ms |
| コンパイル使用メモリ | 75,032 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-12-23 14:35:41 |
| 合計ジャッジ時間 | 1,568 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 16 |
コンパイルメッセージ
main.cpp:8:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
8 | main()
| ^~~~
ソースコード
#include<iostream>
#include<queue>
using namespace std;
int H,W;
int M[100][100];
int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1};
int used[100][100];
main()
{
cin>>W>>H;
for(int i=0;i<H;i++)for(int j=0;j<W;j++)cin>>M[i][j];
for(int i=0;i<H;i++)for(int j=0;j<W;j++)
{
if(used[i][j])continue;
used[i][j]=1;
int vc=1,ec=0;
queue<pair<int,int> >P;
P.push(make_pair(i,j));
while(!P.empty())
{
int x=P.front().first,y=P.front().second;
P.pop();
used[x][y]=2;
for(int r=0;r<4;r++)
{
int tx=x+dx[r],ty=y+dy[r];
if(tx>=0&&ty>=0&&tx<H&&ty<W&&used[tx][ty]<2&&M[tx][ty]==M[i][j])
{
ec++;
if(used[tx][ty]==0)
{
vc++;
used[tx][ty]=1;
P.push(make_pair(tx,ty));
}
}
}
}
if(vc<=ec)
{
cout<<"possible"<<endl;
return 0;
}
}
cout<<"impossible"<<endl;
}