제출 #493265

#제출 시각아이디문제언어결과실행 시간메모리
493265rainboyMalnaRISC (COI21_malnarisc)C11
0 / 100
1 ms204 KiB
#include <stdio.h> int n, print; void cmpswp(int i, int j) { if (i < n && j < n) printf("CMPSWP R%d R%d ", i + 1, j + 1), print = 1; } void flush() { if (print) printf("\n"), print = 0; } int main() { int n_, l_, l, l1, i; scanf("%d", &n); l_ = 0; while (1 << l_ < n) l_++; n_ = 1 << l_; for (l = 1; l <= l_; l++) { for (i = 0; i < n_; i++) if ((i & 1 << l - 1) == 0) cmpswp(i, i ^ (1 << l) - 1); flush(); for (l1 = l - 2; l1 >= 0; l1--) { for (i = 0; i < n_; i++) if ((i & 1 << l1) == 0) cmpswp(i, i ^ (1 << l1)); flush(); } } return 0; }

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

malnarisc.c: In function 'main':
malnarisc.c:25:20: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   25 |    if ((i & 1 << l - 1) == 0)
      |                  ~~^~~
malnarisc.c:26:28: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
   26 |     cmpswp(i, i ^ (1 << l) - 1);
      |                   ~~~~~~~~~^~~
malnarisc.c:18:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |  scanf("%d", &n);
      |  ^~~~~~~~~~~~~~~
#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...