Submission #67336468
Source Code Expand
//# pragma GCC target("avx2")
# pragma GCC optimize("O3")
# pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
#define rep(i,n) for(int i=0;i<(n);i++)
#include"atcoder/all"
using namespace atcoder;
typedef modint998244353 mi;
using namespace std;
#define all(a) a.begin(),a.end()
#define compress(a) sort(all(a));a.erase(unique(all(a)),a.end())
typedef long long ll;
typedef pair<ll,ll> P;
constexpr ll mod=998244353;
constexpr ll inf=3e18;
int dx[]={1,0,-1,0},dy[]={0,1,0,-1};
int main(){
int h,w,k;
cin>>h>>w>>k;
vector<vector<ll>>dp(h,vector<ll>(w,1e9));
vector<vector<vector<int>>> nbh(h,vector<vector<int>>(w));
rep(i,k){
int r,c;
cin>>r>>c;
dp[r-1][c-1]=0;
}
queue<P>Q;
rep(i,h){
rep(j,w){
if(dp[i][j]!=1e9){
rep(k,4){
if(0<=i+dx[k]&&i+dx[k]<h&&0<=j+dy[k]&&j+dy[k]<w){
nbh[i+dx[k]][j+dy[k]].push_back(dp[i][j]);
}
}
}
}
}
rep(i,h){
rep(j,w){
if(nbh[i][j].size()>=2&&dp[i][j]>=1e9){
sort(all(nbh[i][j]));
Q.push({i,j});
}
}
}
while(Q.size()){
P p=Q.front();
Q.pop();
//cout<<p.first<<" "<<p.second<<endl;
//getchar();
if(dp[p.first][p.second]<1e9)continue;
sort(all(nbh[p.first][p.second]));
dp[p.first][p.second]=nbh[p.first][p.second][1]+1;
rep(k,4){
int ni=p.first+dx[k],nj=p.second+dy[k];
if(0<=ni&&ni<h&&0<=nj&&nj<w&&dp[ni][nj]>=1e9){
nbh[ni][nj].push_back(dp[p.first][p.second]);
if(nbh[ni][nj].size()>=2)Q.push({ni,nj});
}
}
}
ll ans=0;
rep(i,h)rep(j,w)if(dp[i][j]<1e9)ans+=dp[i][j];
cout<<ans<<endl;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - No Passage |
| User | Rho17 |
| Language | C++ 20 (gcc 12.2) |
| Score | 525 |
| Code Size | 1606 Byte |
| Status | AC |
| Exec Time | 1694 ms |
| Memory | 566204 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 525 / 525 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3576 KiB |
| 00_sample_01.txt | AC | 1 ms | 3536 KiB |
| 00_sample_02.txt | AC | 1 ms | 3624 KiB |
| 01_test_00.txt | AC | 1 ms | 3568 KiB |
| 01_test_01.txt | AC | 1 ms | 3556 KiB |
| 01_test_02.txt | AC | 1 ms | 3764 KiB |
| 01_test_03.txt | AC | 1 ms | 3608 KiB |
| 01_test_04.txt | AC | 1 ms | 3716 KiB |
| 01_test_05.txt | AC | 1 ms | 3600 KiB |
| 01_test_06.txt | AC | 2 ms | 3856 KiB |
| 01_test_07.txt | AC | 1 ms | 3608 KiB |
| 01_test_08.txt | AC | 2 ms | 3876 KiB |
| 01_test_09.txt | AC | 2 ms | 3984 KiB |
| 01_test_10.txt | AC | 11 ms | 15008 KiB |
| 01_test_11.txt | AC | 7 ms | 9880 KiB |
| 01_test_12.txt | AC | 3 ms | 4124 KiB |
| 01_test_13.txt | AC | 5 ms | 6972 KiB |
| 01_test_14.txt | AC | 16 ms | 24448 KiB |
| 01_test_15.txt | AC | 8 ms | 10576 KiB |
| 01_test_16.txt | AC | 5 ms | 6796 KiB |
| 01_test_17.txt | AC | 19 ms | 30688 KiB |
| 01_test_18.txt | AC | 35 ms | 55268 KiB |
| 01_test_19.txt | AC | 26 ms | 41004 KiB |
| 01_test_20.txt | AC | 98 ms | 167264 KiB |
| 01_test_21.txt | AC | 14 ms | 20948 KiB |
| 01_test_22.txt | AC | 100 ms | 44880 KiB |
| 01_test_23.txt | AC | 388 ms | 180636 KiB |
| 01_test_24.txt | AC | 863 ms | 341700 KiB |
| 01_test_25.txt | AC | 1454 ms | 539416 KiB |
| 01_test_26.txt | AC | 166 ms | 286120 KiB |
| 01_test_27.txt | AC | 166 ms | 285692 KiB |
| 01_test_28.txt | AC | 166 ms | 285476 KiB |
| 01_test_29.txt | AC | 169 ms | 285532 KiB |
| 01_test_30.txt | AC | 3 ms | 4072 KiB |
| 01_test_31.txt | AC | 108 ms | 48304 KiB |
| 01_test_32.txt | AC | 376 ms | 294072 KiB |
| 01_test_33.txt | AC | 443 ms | 343016 KiB |
| 01_test_34.txt | AC | 1694 ms | 566204 KiB |
| 01_test_35.txt | AC | 1681 ms | 566148 KiB |
| 01_test_36.txt | AC | 1 ms | 3632 KiB |
| 01_test_37.txt | AC | 1 ms | 3572 KiB |
| 01_test_38.txt | AC | 2 ms | 3876 KiB |
| 01_test_39.txt | AC | 164 ms | 284908 KiB |
| 01_test_40.txt | AC | 1 ms | 3608 KiB |