#include <iostream>
using namespace std;
int loremIpsum(int * dolorSitAmet, int & n, int & m, int * cords, int & t, int index){
int vestibulum = 0, max;
if(index >= t){
max = t;
for(int i = 0; i < n; ++i){
for(int j = 0; j < m; ++j){
if((*(dolorSitAmet + i * m + j)) == max){
vestibulum ++;
}else if((*(dolorSitAmet + i * m + j)) > max){
max = (*(dolorSitAmet + i * m + j));
vestibulum = 1;
}
}
}
return vestibulum;
}
int x1 = *(cords + index * 4 + 0);
int y1 = *(cords + index * 4 + 1);
int x2 = *(cords + index * 4 + 2);
int y2 = *(cords + index * 4 + 3);
// Quisque at tellus feugiat elit ornare blandit convallis
for(int i = x1 + 1; i <= x2; ++i){
for(int j = y1 + 1; j <= y2; ++j){
(*(dolorSitAmet + i * m + j)) ++;
}
}
max = loremIpsum(dolorSitAmet, n, m, cords, t, index + 1);
if(max > vestibulum) vestibulum = max;
for(int i = x1 + 1; i <= x2; ++i){
for(int j = y1 + 1; j <= y2; ++j){
(*(dolorSitAmet + i * m + j)) --;
}
}
// Quisque at tellus feugiat elit ornare blandit convallis
for(int i = 0; i < n; ++i){
if(i <= x1 || i > x2)
for(int j = y1 + 1; j <= y2; ++j){
(*(dolorSitAmet + i * m + j)) ++;
}
}
max = loremIpsum(dolorSitAmet, n, m, cords, t, index + 1);
if(max > vestibulum) vestibulum = max;
for(int i = 0; i < n; ++i){
if(i <= x1 || i > x2)
for(int j = y1 + 1; j <= y2; ++j){
(*(dolorSitAmet + i * m + j)) --;
}
}
// Quisque at tellus feugiat elit ornare blandit convallis
for(int i = x1 + 1; i <= x2; ++i){
for(int j = 0; j < m; ++j){
if(j <= y1 || j > y2) (*(dolorSitAmet + i * m + j)) ++;
}
}
max = loremIpsum(dolorSitAmet, n, m, cords, t, index + 1);
if(max > vestibulum) vestibulum = max;
for(int i = x1 + 1; i <= x2; ++i){
for(int j = 0; j < m; ++j){
if(j <= y1 || j > y2) (*(dolorSitAmet + i * m + j)) --;
}
}
// Quisque at tellus feugiat elit ornare blandit convallis
for(int i = 0; i < n; ++i){
if(i <= x1 || i > x2)
for(int j = 0; j < m; ++j){
if(j <= y1 || j > y2) (*(dolorSitAmet + i * m + j)) ++;
}
}
max = loremIpsum(dolorSitAmet, n, m, cords, t, index + 1);
if(max > vestibulum) vestibulum = max;
for(int i = 0; i < n; ++i){
if(i <= x1 || i > x2)
for(int j = 0; j < m; ++j){
if(j <= y1 || j > y2) (*(dolorSitAmet + i * m + j)) --;
}
}
// Quisque at tellus feugiat elit ornare blandit convallis
return vestibulum;
}
int main(){
int t, n, m;
cin >> t >> n >> m;
int dolorSitAmet [n][m];
for(int i = 0; i < n; ++i){
for(int j = 0; j < m; ++j){
dolorSitAmet [i][j] = 0;
}
}
int cords [t][4];
for(int i = 0; i < t; ++i){
for(int j = 0; j < 4; ++j){
cin >> cords [i][j];
}
if(cords [i][0] > cords [i][2]){
int k = cords [i][2];
cords [i][2] = cords [i][0];
cords [i][0] = k;
}
if(cords [i][1] > cords [i][3]){
int k = cords [i][3];
cords [i][3] = cords [i][1];
cords [i][1] = k;
}
}
cout << loremIpsum((int *)dolorSitAmet, n, m, (int *)cords, t, 0) << endl;
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | #include <iostream> using namespace std; int loremIpsum(int * dolorSitAmet, int & n, int & m, int * cords, int & t, int index){ int vestibulum = 0, max; if(index >= t){ max = t; for(int i = 0; i < n; ++i){ for(int j = 0; j < m; ++j){ if((*(dolorSitAmet + i * m + j)) == max){ vestibulum ++; }else if((*(dolorSitAmet + i * m + j)) > max){ max = (*(dolorSitAmet + i * m + j)); vestibulum = 1; } } } return vestibulum; } int x1 = *(cords + index * 4 + 0); int y1 = *(cords + index * 4 + 1); int x2 = *(cords + index * 4 + 2); int y2 = *(cords + index * 4 + 3); // Quisque at tellus feugiat elit ornare blandit convallis for(int i = x1 + 1; i <= x2; ++i){ for(int j = y1 + 1; j <= y2; ++j){ (*(dolorSitAmet + i * m + j)) ++; } } max = loremIpsum(dolorSitAmet, n, m, cords, t, index + 1); if(max > vestibulum) vestibulum = max; for(int i = x1 + 1; i <= x2; ++i){ for(int j = y1 + 1; j <= y2; ++j){ (*(dolorSitAmet + i * m + j)) --; } } // Quisque at tellus feugiat elit ornare blandit convallis for(int i = 0; i < n; ++i){ if(i <= x1 || i > x2) for(int j = y1 + 1; j <= y2; ++j){ (*(dolorSitAmet + i * m + j)) ++; } } max = loremIpsum(dolorSitAmet, n, m, cords, t, index + 1); if(max > vestibulum) vestibulum = max; for(int i = 0; i < n; ++i){ if(i <= x1 || i > x2) for(int j = y1 + 1; j <= y2; ++j){ (*(dolorSitAmet + i * m + j)) --; } } // Quisque at tellus feugiat elit ornare blandit convallis for(int i = x1 + 1; i <= x2; ++i){ for(int j = 0; j < m; ++j){ if(j <= y1 || j > y2) (*(dolorSitAmet + i * m + j)) ++; } } max = loremIpsum(dolorSitAmet, n, m, cords, t, index + 1); if(max > vestibulum) vestibulum = max; for(int i = x1 + 1; i <= x2; ++i){ for(int j = 0; j < m; ++j){ if(j <= y1 || j > y2) (*(dolorSitAmet + i * m + j)) --; } } // Quisque at tellus feugiat elit ornare blandit convallis for(int i = 0; i < n; ++i){ if(i <= x1 || i > x2) for(int j = 0; j < m; ++j){ if(j <= y1 || j > y2) (*(dolorSitAmet + i * m + j)) ++; } } max = loremIpsum(dolorSitAmet, n, m, cords, t, index + 1); if(max > vestibulum) vestibulum = max; for(int i = 0; i < n; ++i){ if(i <= x1 || i > x2) for(int j = 0; j < m; ++j){ if(j <= y1 || j > y2) (*(dolorSitAmet + i * m + j)) --; } } // Quisque at tellus feugiat elit ornare blandit convallis return vestibulum; } int main(){ int t, n, m; cin >> t >> n >> m; int dolorSitAmet [n][m]; for(int i = 0; i < n; ++i){ for(int j = 0; j < m; ++j){ dolorSitAmet [i][j] = 0; } } int cords [t][4]; for(int i = 0; i < t; ++i){ for(int j = 0; j < 4; ++j){ cin >> cords [i][j]; } if(cords [i][0] > cords [i][2]){ int k = cords [i][2]; cords [i][2] = cords [i][0]; cords [i][0] = k; } if(cords [i][1] > cords [i][3]){ int k = cords [i][3]; cords [i][3] = cords [i][1]; cords [i][1] = k; } } cout << loremIpsum((int *)dolorSitAmet, n, m, (int *)cords, t, 0) << endl; return 0; } |
English