제출 #807621

#제출 시각아이디문제언어결과실행 시간메모리
807621ttamxBit Shift Registers (IOI21_registers)C++17
21 / 100
0 ms212 KiB
#include "registers.h" #include "bits/stdc++.h" using namespace std; const int B=2000; const int ONE=99; const int ALT=98; const int FILL=97; void construct_instructions(int s, int n, int k, int q) { vector<bool> b1(B),b2(B),b3(B); for(int i=0;i<n;i+=2*k)b1[i]=1; append_store(ONE,b1); for(int i=0;i<n;i+=2*k)for(int j=0;j<k;j++)b2[i+j]=1; append_store(ALT,b2); while(n!=n&-n)b3[n++]=1; append_store(FILL,b3); append_or(0,0,FILL); if(s==0){ int cnt=k; while(n>1){ append_right(1,0,cnt); append_and(0,0,ALT); // A append_and(1,1,ALT); // B append_not(2,1); // - B - 1 append_add(2,0,2); // A - B - 1 append_right(2,2,k); append_and(2,2,ONE); append_add(2,2,ALT); append_and(1,1,2); append_not(2,2); append_and(0,0,2); append_or(0,0,1); n>>=1; cnt<<=1; } } }

컴파일 시 표준 에러 (stderr) 메시지

registers.cpp: In function 'void construct_instructions(int, int, int, int)':
registers.cpp:17:9: warning: self-comparison always evaluates to false [-Wtautological-compare]
   17 |  while(n!=n&-n)b3[n++]=1;
      |        ~^~~
registers.cpp:17:9: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
   17 |  while(n!=n&-n)b3[n++]=1;
      |        ~^~~
#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...