# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
372977 | MilosMilutinovic | 자리 배치 (IOI18_seats) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "seats.h"
#include <bits/stdc++.h>
using namespace std;
void ckmn(int&a,int b){a=min(a,b);}
void ckmx(int&a,int b){a=max(a,b);}
const int N=10050;
int h,w,x[N],y[N];
int swap_seats(int a,int b){
swap(x[a],x[b]);
swap(y[a],y[b]);
int row[2]={(int)1e9,0},col[2]={(int)1e9,0},ans=0;
for(int i=0;i<h*w;i++){
ckmn(row[0],x[i]);
ckmx(row[1],x[i]);
ckmn(col[0],y[i]);
ckmx(col[1],y[i]);
int Area=(row[1]-row[0]+1)*(col[1]-col[0]+1);
if(Area==i+1)ans++;
}
return ans;
}
void give_initial_chart(int H,int W,int* R,int* C){
h=H,w=W;
for(int i=0;i<H*W;i++)x[i]=R[i],y[i]=C[i];
}