제출 #427261

#제출 시각아이디문제언어결과실행 시간메모리
427261dreezyRectangles (IOI19_rect)C++17
25 / 100
5090 ms22672 KiB
#include "rect.h" #include <bits/stdc++.h> using namespace std; #define ll long long long long count_rectangles(vector<vector<int> > a) { int n = a.size(); int m = a[0].size(); ll ans = 0; for(int width = 0; width < n - 2; width++){ for(int height = 0; height < m -2; height++){ for(int starti = 1; starti < n -1 - width; starti++){ for(int startj = 1; startj < m - 1 - height; startj++){ bool good = true; //cout <<starti<<", "<<startj<<": "<<starti + width <<", "<<startj + width<<endl; for(int i =starti; i<=starti + width ;i++){ for(int j =startj ;j <=startj + height; j++){ int cnt = 0; if(a[starti-1][j] > a[i][j]) cnt++; if(a[starti + width + 1][j] > a[i][j]) cnt++; if(a[i][startj -1] > a[i][j]) cnt++; if(a[i][startj + height+1] > a[i][j]) cnt++; if(cnt != 4) { //cout << ":BAD:"<<starti<<", "<<startj<<": "<<width<<", "<<height<<endl; good = false; break; } } if(!good) break; } if(good){ //cout << starti<<", "<<startj<<": "<<width<<", "<<height<<endl; } ans += good; } } } } return ans; } /*subtask 5: debug*/ /* long long count_rectangles(vector<vector<int> > a) { int n = a.size(); int m = a[0].size(); ll ans = 0; for(int i =1; i<n-1 ;i++){ int leftind = 0; for(int j =1 ;j <m-1; j++){ int cnt = 0; cout << a[i][j]<<", "<<leftind<< ": "<<a[i][leftind]<<endl; bool pos = true; if(a[i-1][j] > a[i][j]) cnt++; else pos = false; if(a[i+1][j] > a[i][j]) cnt++; else pos = false; if(a[i][leftind] > a[i][j]) cnt++; else pos = false; if(a[i][j+1] > a[i][j]) cnt++; if(!pos){ leftind = j; } cout << pos<<" & "<<cnt<<endl; if(cnt == 4){ for(int ii = leftind+1; ii < j; ii++){ if(a[i][ii] >= a[i][j+1]){ leftind = ii; } } ll curans = 0; for(int ii = leftind +1; ii<=j; ii++){ if(a[i][ii] < a[i][ii - 1]){ curans++; cout << ii<<":"; } } cout << "!"<<leftind<<endl; ans+= curans; } } } 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...
#Verdict Execution timeMemoryGrader output
Fetching results...