답안 #426265

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
426265 2021-06-13T16:17:55 Z duality The Collection Game (BOI21_swaps) C++14
35 / 100
126 ms 528 KB
#include <bits/stdc++.h>
using namespace std;
#define mp make_pair
#define pb push_back
typedef long long int LLI;
typedef vector<int> vi;
typedef pair<int,int> pii;
typedef vector<pii> vpii;
#include "swaps.h"

int used[500];
void solve(int N,int V) {
    int i,j;
    vi order;
    for (i = 0; i < N; i++) order.pb(i+1);
    int s = sqrt(N);
    for (j = 0; j < N; j++) {
        vi v1,v2;
        /*for (i = s; i < N; i++) {
            if (!used[i-s]) v1.pb(i),schedule(order[i-s],order[i]),used[i-s] = used[i] = 1;
            else v2.pb(i);
        }
        fill(used,used+N,0);
        vi r = visit();
        for (i = 0; i < r.size(); i++) {
            if (!r[i]) swap(order[v1[i]-s],order[v1[i]]);
        }
        for (i = 0; i < v2.size(); i++) schedule(order[v2[i]-s],order[v2[i]]);
        r = visit();
        for (i = 0; i < r.size(); i++) {
            if (!r[i]) swap(order[v2[i]-s],order[v2[i]]);
        }*/
        v1.clear(),v2.clear();
        for (i = 1; i < N; i++) {
            if (i & 1) schedule(order[i-1],order[i]),v1.pb(i);
            else v2.pb(i);
        }
        vi r = visit();
        for (i = 0; i < r.size(); i++) {
            if (!r[i]) swap(order[v1[i]-1],order[v1[i]]);
        }
        for (i = 0; i < v2.size(); i++) schedule(order[v2[i]-1],order[v2[i]]);
        r = visit();
        for (i = 0; i < r.size(); i++) {
            if (!r[i]) swap(order[v2[i]-1],order[v2[i]]);
        }
    }
    answer(order);
}

Compilation message

swaps.cpp: In function 'void solve(int, int)':
swaps.cpp:39:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |         for (i = 0; i < r.size(); i++) {
      |                     ~~^~~~~~~~~~
swaps.cpp:42:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |         for (i = 0; i < v2.size(); i++) schedule(order[v2[i]-1],order[v2[i]]);
      |                     ~~^~~~~~~~~~~
swaps.cpp:44:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |         for (i = 0; i < r.size(); i++) {
      |                     ~~^~~~~~~~~~
swaps.cpp:16:9: warning: unused variable 's' [-Wunused-variable]
   16 |     int s = sqrt(N);
      |         ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Correct
2 Correct 9 ms 200 KB Correct
3 Correct 34 ms 200 KB Correct
4 Correct 104 ms 384 KB Correct
5 Correct 101 ms 304 KB Correct
6 Correct 125 ms 396 KB Correct
7 Correct 118 ms 412 KB Correct
8 Correct 108 ms 300 KB Correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Correct
2 Correct 7 ms 200 KB Correct
3 Correct 36 ms 200 KB Correct
4 Correct 117 ms 380 KB Correct
5 Correct 118 ms 304 KB Correct
6 Correct 114 ms 432 KB Correct
7 Correct 118 ms 396 KB Correct
8 Correct 112 ms 308 KB Correct
9 Correct 126 ms 400 KB Correct
10 Correct 113 ms 452 KB Correct
11 Correct 115 ms 392 KB Correct
12 Correct 108 ms 528 KB Correct
13 Correct 108 ms 300 KB Correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Correct
2 Correct 7 ms 200 KB Correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Correct
2 Correct 7 ms 200 KB Correct
3 Correct 1 ms 200 KB Correct
4 Correct 7 ms 200 KB Correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Correct
2 Correct 8 ms 200 KB Correct
3 Correct 30 ms 200 KB Correct
4 Correct 114 ms 428 KB Correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Correct
2 Correct 8 ms 200 KB Correct
3 Correct 30 ms 200 KB Correct
4 Correct 114 ms 428 KB Correct
5 Correct 1 ms 200 KB Correct
6 Correct 8 ms 200 KB Correct
7 Correct 31 ms 200 KB Correct
8 Correct 120 ms 372 KB Correct
9 Correct 118 ms 368 KB Correct
10 Correct 101 ms 384 KB Correct
11 Correct 122 ms 364 KB Correct
12 Correct 103 ms 528 KB Correct
13 Correct 1 ms 200 KB Correct
14 Correct 7 ms 200 KB Correct
15 Correct 41 ms 200 KB Correct
16 Correct 110 ms 308 KB Correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Correct
2 Correct 11 ms 200 KB Correct
3 Correct 35 ms 200 KB Correct
4 Correct 102 ms 312 KB Correct
5 Runtime error 60 ms 436 KB Execution killed with signal 13
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Correct
2 Correct 11 ms 200 KB Correct
3 Correct 35 ms 200 KB Correct
4 Correct 102 ms 312 KB Correct
5 Runtime error 60 ms 436 KB Execution killed with signal 13
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Correct
2 Correct 7 ms 200 KB Correct
3 Correct 31 ms 200 KB Correct
4 Correct 116 ms 304 KB Correct
5 Runtime error 57 ms 316 KB Execution killed with signal 13
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Correct
2 Correct 7 ms 200 KB Correct
3 Correct 31 ms 200 KB Correct
4 Correct 116 ms 304 KB Correct
5 Runtime error 57 ms 316 KB Execution killed with signal 13
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Correct
2 Correct 8 ms 200 KB Correct
3 Correct 34 ms 200 KB Correct
4 Correct 114 ms 372 KB Correct
5 Runtime error 58 ms 284 KB Execution killed with signal 13
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Correct
2 Correct 8 ms 200 KB Correct
3 Correct 34 ms 200 KB Correct
4 Correct 114 ms 372 KB Correct
5 Runtime error 58 ms 284 KB Execution killed with signal 13
6 Halted 0 ms 0 KB -