Submission #473803

#TimeUsernameProblemLanguageResultExecution timeMemory
473803qwerasdfzxclNavigation 2 (JOI21_navigation2)C++17
75 / 100
876 ms896 KiB
#include "Anna.h" #include <bits/stdc++.h> typedef long long ll; using namespace std; namespace { } // namespace void Anna(int N, int K, std::vector<int> R, std::vector<int> C) { for (int i=0;i<N;i++){ for (int j=0;j<N;j++){ int num = (i%3)*3+j%3; if (!num) SetFlag(i, j, 14); else if (num==8) SetFlag(i, j, 1); else{ num--; if (R[num]<i-1) SetFlag(i, j, 4); else if (R[num]>i+1) SetFlag(i, j, 3); else if (C[num]<j-1) SetFlag(i, j, 2); else if (C[num]>j+1) SetFlag(i, j, 1); else{ for (int x=-1, val=5;x<=1;x++){ for (int y=-1;y<=1;y++, val++){ if (i+x==R[num] && j+y==C[num]) SetFlag(i, j, val); } } } } } } }
#include "Bruno.h" #include <bits/stdc++.h> typedef long long ll; using namespace std; namespace { } // namespace std::vector<int> Bruno(int K, std::vector<int> value) { vector<int> ret(7); int pivot = -1; for (int i=0;i<9;i++) if (value[i]==14) pivot = i; assert(pivot!=-1); for (int i=-1, k=0;i<=1;i++){ for (int j=-1;j<=1;j++, k++){ int num = (i+3-(pivot/3)+1)%3*3 + (j+3-(pivot%3)+1)%3; if (num==0 || num==8) continue; num--; if (value[k]<=4) ret[num] = value[k]-1; else{ int ex = -1e9, ey = -1e9; for (int x=-1, val=5;x<=1;x++){ for (int y=-1;y<=1;y++, val++){ if (value[k]==val) ex = i+x, ey = j+y; } } assert(ex!=-1e9 && ey!=-1e9); if (ex<0) ret[num] = 3; else if (ex>0) ret[num] = 2; else if (ey<0) ret[num] = 1; else if (ey>0) ret[num] = 0; else ret[num] = 4; } } } return ret; }
#Verdict Execution timeMemoryGrader output
Fetching results...