結果
問題 |
No.697 池の数はいくつか
|
ユーザー |
|
提出日時 | 2018-06-14 22:07:16 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
MLE
|
実行時間 | - |
コード長 | 1,247 bytes |
コンパイル時間 | 1,563 ms |
コンパイル使用メモリ | 169,032 KB |
実行使用メモリ | 567,040 KB |
最終ジャッジ日時 | 2024-11-25 13:39:03 |
合計ジャッジ時間 | 8,830 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 MLE * 2 |
ソースコード
#define _USE_MATH_DEFINES #include "bits/stdc++.h" using namespace std; #define FOR(i,j,k) for(int (i)=(j);(i)<(int)(k);++(i)) #define rep(i,j) FOR(i,0,j) #define each(x,y) for(auto &(x):(y)) #define mp make_pair #define MT make_tuple #define all(x) (x).begin(),(x).end() #define debug(x) cout<<#x<<": "<<(x)<<endl #define smax(x,y) (x)=max((x),(y)) #define smin(x,y) (x)=min((x),(y)) #define MEM(x,y) memset((x),(y),sizeof (x)) #define sz(x) (int)(x).size() #define RT return #define vv(a,b,c,d) vector<vector<a> >(b,vector<a>(c,d)) #define vvv(a,b,c,d,e) vector<vector<vector<a> > >(b,vv(a,c,d,e)) using ll = long long; using pii = pair<int, int>; using vi = vector<int>; using vll = vector<ll>; const int D[] = { 0,-1,0,1,0 }; bitset<3001> A[3001]; void dfs(int y, int x) { A[y][x] = 0; rep(i, 4) { int ny = y + D[i], nx = x + D[i + 1]; if (A[ny][nx])dfs(ny, nx); } } int main() { ios::sync_with_stdio(false); cin.tie(0); cout << fixed << setprecision(20); int H, W, re = 0; cin >> H >> W; rep(y, H)rep(x, W) { int z; cin >> z; A[y + 1][x + 1] = z; } rep(y, H)rep(x, W)if (A[y + 1][x + 1]) { re++; dfs(y + 1, x + 1); } cout << re << endl; }