Submission #965320

#TimeUsernameProblemLanguageResultExecution timeMemory
965320pccCell Automaton (JOI23_cell)C++17
4 / 100
8031 ms32600 KiB
#include <bits/stdc++.h> using namespace std; #define pii pair<int,int> #define fs first #define sc second const int mxn = 2020; const int sh = mxn>>1; int arr[mxn][mxn],brr[mxn][mxn]; int N,Q; int req[mxn]; pii dir[] = {{-1,0},{1,0},{0,1},{0,-1}}; void move(){ memset(brr,0,sizeof(brr)); for(int i = 0;i<mxn;i++){ for(int j = 0;j<mxn;j++){ if(arr[i][j] == 2)brr[i][j] = 0; else if(arr[i][j] == 1){ brr[i][j] = 2; for(auto &d:dir){ if(arr[i+d.fs][j+d.sc] != 2&&arr[i+d.fs][j+d.sc] != 1)brr[i+d.fs][j+d.sc] = 1; } } } } for(int i = 0;i<mxn;i++){ for(int j = 0;j<mxn;j++)arr[i][j] = brr[i][j]; } return; } int main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin>>N>>Q; for(int i = 0;i<N;i++){ int r,c; cin>>r>>c; arr[r+sh][c+sh] = 1; } int t = 0; while(Q--){ int k; cin>>k; while(t<k){ t++; move(); } int ans = 0; for(auto &i:arr){ for(auto &j:i)ans += (j == 1); } cout<<ans<<'\n'; /* for(auto &i:arr){ for(auto &j:i)cout<<j;cout<<endl; }cout<<endl; */ } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...