제출 #1141859

#제출 시각아이디문제언어결과실행 시간메모리
1141859erering비교 (balkan11_cmp)C++20
0 / 100
417 ms87396 KiB
#include <bits/stdc++.h> #include "cmp.h" using namespace std; #define pb push_back void remember(int n) { int x=1; string s="1"; for(int i=1;i<=6;i++){ if(i!=4)bit_set(n%4+x); if(i>3)s+=to_string(n%4); x+=4; n/=4; } bit_set(stoi(s)); } int compare(int b) { vector<int> v; string s="1"; for(int i=1;i<=6;i++){ v.pb(b%4); if(i>3)s+=to_string(b%4); b/=4; } bool flag=0; if(bit_get(stoi(s)))flag=1; int f=4*5+1; for(int i=v.size()-1;i>=0;i--) { if (flag && i >= 3) { f -= 4; continue; } if (i == 3) { int x=v[i]; string s = "1" + to_string(x), s1 = to_string(v[i + 1]) + to_string(v[i + 2]); int r = bit_get(stoi(s + s1)); if (r == 1) { f -= 4; continue; } if (x == 3)return 1; if (x == 0)return -1; if (x == 2) { r = bit_get(stoi(s + s1) + 1); if (r == 1)return -1; else return 1; } if (x == 1) { r = bit_get(stoi(s + s1) - 1); if (r == 1)return 1; else return -1; } f -= 4; } else{ int x=v[i]; int r=bit_get(f+x); if(r==1){ f-=4; continue; } if(x==3)return 1; if(x==0)return -1; if(x==2){ r=bit_get(f+x+1); if(r==1)return -1; else return 1; } if(x==1){ r=bit_get(f+x-1); if(r==1)return 1; else return -1; } f-=4; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...