#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; } |