Submission #983369

#TimeUsernameProblemLanguageResultExecution timeMemory
983369Faisal_SaqibMars (APIO22_mars)C++17
0 / 100
1 ms436 KiB
#include "mars.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define vll vector<ll> const int N=100; int n,m; bool vis[N][N]; char g[N][N]; vector<pair<int,int>> dir={{0,-1},{0,1},{1,0},{-1,0}}; bool valid(int x,int y) { return (0<=x and x<n and 0<=y and y<m and !vis[x][y] and g[x][y]=='1'); } void dfs(int x,int y) { vis[x][y]=1; for(auto [dx,dy]:dir) { if(valid(x+dx,y+dy)) { dfs(x+dx,y+dy); } } } string process(vector <vector<string>> a, int i, int j, int k, int na) { if(na==1) { n=(2*na)+1; m=(2*na)+1; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { g[i][j]=a[i][j][0]; } } ll cp=0; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(!vis[i][j] and g[i][j]=='1') { cp++; dfs(i,j); } } } string bp=""; while(cp>0) { bp+=char('0'+(cp%2)); cp/=2; } while(bp.size()<100) bp+='0'; return bp; // We got the whole grid so just run dfs and get the connected components } else if(na==2) { if(k==0) { string tp=""; for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { tp+=a[i][j][0]; } } while(tp.size()<100) { tp+='0'; } return tp; } else// k==1 { n=(2*na)+1; m=n; for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { for(int p=0;p<9;p++) { g[i+(p/3)][j+(p%3)]=a[i][j][p]; } } } ll cp=0; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(!vis[i][j] and g[i][j]=='1') { cp++; dfs(i,j); } } } string bp=""; while(cp>0) { bp+=char('0'+(cp%2)); cp/=2; } while(bp.size()<100) bp+='0'; return bp; } } else { exit(-1); } return string(100 ,'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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...