제출 #142755

#제출 시각아이디문제언어결과실행 시간메모리
142755cfalasSeats (IOI18_seats)C++14
5 / 100
335 ms48144 KiB
#include<bits/stdc++.h>
using namespace std;
#include "seats.h"

int h, w;
int a[100][100];
int r[100];
int c[100];
void give_initial_chart(int H, int W, std::vector<int> R, std::vector<int> C) {
  h = H;
  w = W;
  for(int i=0;i<h*w;i++){
	  r[i] = R[i];
	  c[i] = C[i];
	  a[r[i]][c[i]] = i;
  }
}

int swap_seats(int x, int y) {
	swap(r[x], r[y]);
	swap(c[x], c[y]);
	swap(a[r[x]][c[x]], a[r[y]][c[y]]);
	int currx=0, curry=0;
	for(int i=0;i<h;i++)
		for(int j=0;j<w;j++)
			if(a[i][j]==0)
				currx=i, curry=j;
	int minx=currx, maxx=currx, miny=curry, maxy=curry;
	int ans=0;
	for(int i=0;i<w*h;i++){
		currx = r[i];
		curry = c[i];
		minx = min(minx, currx);
		maxx = max(maxx, currx);
		miny = min(miny, curry);
		maxy = max(maxy, curry);
		if((maxx-minx+1)*(maxy-miny+1)==i+1) ans++;
	}
	return ans;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...