제출 #737139

#제출 시각아이디문제언어결과실행 시간메모리
737139puppyPresent (RMI21_present)C++17
29 / 100
4058 ms292 KiB
#include <iostream> #include <numeric> using namespace std; int g[41][41]; long long get_closed(long long ind) { long long ans = ind; for (int i = 40; i >= 1; i--) { if (ans & 1LL << i-1) { for (int j = i-1; j >= 1; j--) { if (ans & 1LL << j-1) { ans |= 1LL << g[i][j]-1; } } } } return ans; } long long get_next(long long cur) { long long bef = get_closed(cur); for (int i = 1;; i++) { if (!(bef & (1LL << i-1))) { for (int j = 1; j < i; j++) { if (cur & (1LL << j-1)) cur -= 1LL << j-1; } cur += 1LL << i-1; return cur; } } } int popcount(long long id) { int cnt = 0; for (int i = 0; i < 40; i++) { if (id & (1LL << i)) cnt++; } return cnt; } void print_set(long long id) { cout << popcount(id) << ' '; for (int i = 1; i <= 40; i++) { if (id & (1LL << i-1)) cout << i << ' '; } cout << '\n'; } int main() { for (int i = 1; i <= 40; i++) { for (int j = 1; j <= 40; j++) { g[i][j] = gcd(i, j); } } int T; cin >> T; while (T--) { int K; cin >> K; long long cur = 0; for (int i = 1; i <= K; i++) cur = get_next(cur); print_set(get_closed(cur)); } }

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

Main.cpp: In function 'long long int get_closed(long long int)':
Main.cpp:9:27: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
    9 |         if (ans & 1LL << i-1) {
      |                          ~^~
Main.cpp:11:35: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   11 |                 if (ans & 1LL << j-1) {
      |                                  ~^~
Main.cpp:12:42: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   12 |                     ans |= 1LL << g[i][j]-1;
      |                                   ~~~~~~~^~
Main.cpp: In function 'long long int get_next(long long int)':
Main.cpp:23:30: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   23 |         if (!(bef & (1LL << i-1))) {
      |                             ~^~
Main.cpp:25:36: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   25 |                 if (cur & (1LL << j-1)) cur -= 1LL << j-1;
      |                                   ~^~
Main.cpp:25:56: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   25 |                 if (cur & (1LL << j-1)) cur -= 1LL << j-1;
      |                                                       ~^~
Main.cpp:27:28: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   27 |             cur += 1LL << i-1;
      |                           ~^~
Main.cpp: In function 'void print_set(long long int)':
Main.cpp:44:27: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   44 |         if (id & (1LL << i-1)) cout << i << ' ';
      |                          ~^~
#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...