Submission #744540

#TimeUsernameProblemLanguageResultExecution timeMemory
744540amirhoseinfar1385화성 (APIO22_mars)C++17
14 / 100
20 ms2192 KiB
#include "mars.h" #include<bits/stdc++.h> using namespace std; vector<vector<char>>now,vis; void dfs(int i,int j,int n){ if(i<0||j<0||i>n*2+1||j>n*2+1||now[i][j]==0||vis[i][j]==1){ return ; } //cout<<i<<" "<<j<<"\n"; vis[i][j]=1; dfs(i+1,j,n); dfs(i,j+1,n); dfs(i-1,j,n); dfs(i,j-1,n); } string process(vector<vector<string>> a, int ii, int jj, int k, int n) { if(n>4){ return string(100 ,'0'); } string ret(100,'0'); if(k==0){ for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ if(a[i][j][0]=='1'){ ret[(ii+i)*(n*2+1)+jj+j]='1'; } } } } else{ for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ for(int h=0;h<100;h++){ if(ret[h]=='0'){ if(a[i][j][h]=='1'){ ret[h]='1'; } } } } } } //cout<<k<<" "<<n<<endl; if(k==n-1){ // for(int i=0;i<26;i++){ // cout<<ret[i]<<" "; // } // cout<<"\n"; now.resize(n*2+2,vector<char>(n*2+2)); vis.resize(n*2+2,vector<char>(2*n+2)); int cnt=0; for(int i=0;i<100;i++){ if(ret[i]=='1'){ now[i/(n*2+1)][i%(n*2+1)]=1; } } for(int i=0;i<n*2+1;i++){ for(int j=0;j<n*2+1;j++){ if(vis[i][j]==0&&now[i][j]==1){ cnt++; dfs(i,j,n); } } } now.clear(); vis.clear(); ret.clear(); while(cnt>0){ if(cnt&1){ ret.push_back('1'); } else{ ret.push_back('0'); } cnt/=2; } while(ret.size()<100){ ret.push_back('0'); } } return ret; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...