제출 #1199464

#제출 시각아이디문제언어결과실행 시간메모리
1199464user149화성 (APIO22_mars)C++20
14 / 100
837 ms330828 KiB
#include<bits/stdc++.h> #include "mars.h" using namespace std; using pii=pair<int,int>; int N; bool seen[50][50]; bool h[50][50]; void dfs(int i,int j){ seen[i][j]=1; vector<pii> adjlist={{i,j-1},{i+1,j},{i-1,j},{i,j+1}}; for(auto [a,b]:adjlist){ if(a<0 || b<0 || a>N || b>N) continue; if(seen[a][b] || !h[a][b]) continue; dfs(a,b); } } string process(vector<vector<string>> a,int i,int j,int k,int n){ string s; for(int row=0;row<=2;row++){ s+=a[row][0][0]; s+=a[row][1][0]; for(int i=0;i<=2*k;i++){ s+=a[row][2][i]; } } for(int row=3;row<=2*k+2;row++){ s+=a[2][0][(2*k+1)*(row-2)]; s+=a[2][1][(2*k+1)*(row-2)]; for(int i=0;i<=2*k;i++){ s+=a[2][2][(2*k+1)*(row-2)+i]; } } if(k==n-1){ for(int i=0;i<=2*n;i++){ for(int j=0;j<=2*n;j++){ h[i][j]=bool(s[i*(2*n+1)+j]-'0'); } } N=2*n; for(int i=0;i<=49;i++){ for(int j=0;j<=49;j++) seen[i][j]=0; } int ans=0; for(int i=0;i<=2*n;i++){ for(int j=0;j<=2*n;j++){ if(!seen[i][j] && h[i][j]){ dfs(i,j); ans++; } } } string ret; for(int j=0;j<=29;j++) ret+='0'+char(bool(ans&(1<<j))); for(int j=30;j<=99;j++) ret+='0'; return ret; } while(s.size()!=100) s+='0'; return s; }
#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...