This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "seats.h"
using namespace std;
typedef long long ll;
int h, w, mxr = 0, mnr = 1e9, mxc = 0, mnc = 1e9;
vector<int> r, c;
void rst(){
mxr = 0, mnr = 1e9, mxc = 0, mnc = 1e9;
}
void swr(int a, int b){
int x = r[a];
r[a] = r[b];
r[b] = x;
}
void swc(int a, int b){
int x = c[a];
c[a] = c[b];
c[b] = x;
}
void give_initial_chart(int H, int W, std::vector<int> R, std::vector<int> C) {
h = H; w = W;
r = R; c = C;
for(int i = 0; i < h*w; i++){
c[i]++;
r[i]++;
}
}
int swap_seats(int a, int b) {
ll res = 0;
swr(a, b); swc(a, b); rst();
for(int i = 0; i < h*w; i++){
if(mxr < r[i]) mxr = r[i];
if(mnr > r[i]) mnr = r[i];
if(mxc < c[i]) mxc = c[i];
if(mnc > c[i]) mnc = c[i];
int hi = (mxr - mnr) + 1, wi = (mxc - mnc) + 1;
if(hi < 1) hi = 1;
if(wi < 1) wi = 1;
if(hi*wi - 1 == i) res++;
}
return res;
}
# | 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... |