제출 #106194

#제출 시각아이디문제언어결과실행 시간메모리
106194tictaccat자리 배치 (IOI18_seats)C++14
11 / 100
4091 ms48680 KiB
#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 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...