이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "seats.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> R,C;
vector<vector<int>> grid;
int H,W;
int solve_chart(int H, int W) {
int up = 0, down = H, left = W, right = 0;
int b = 0;
for (int k = 1; k <= H*W; k++) {
up = max(up,R[k-1]);
down = min(down,R[k-1]);
left = min(left,C[k-1]);
right = max(right,C[k-1]);
// cout << k << ": " << left << " " << right << " " << down << " " << up;
if ((right-left+1)*(up-down+1) == k) {
// cout << " yes";
// cout << k << "\n";
b++;
}
// cout << "\n";
}
return b;
}
void give_initial_chart(int tempH, int tempW, std::vector<int> tempR, std::vector<int> tempC) {
H = tempH; W = tempW; R = tempR; C = tempC;
grid.assign(H,vector<int>(W));
for (int i = 0; i < H*W; i++) grid[tempR[i]][tempC[i]] = i;
}
int swap_seats(int a, int b) {
swap(grid[R[a]][C[a]], grid[R[b]][C[b]]);
swap(R[a],R[b]);
swap(C[a],C[b]);
return solve_chart(H,W);
// return -1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |