Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- #include <vector>
- class Size {
- public:
- int x;
- int y;
- Size(int x, int y): x(x), y(y){}
- int getArea(){
- return x * y;
- }
- };
- void print(std::vector<Size> sizes){
- std::cout << "printing" << std::endl;
- for(auto size: sizes){
- std::cout << "x: " << size.x << ", y: " << size.y << std::endl;
- }
- }
- void printOccupied(std::vector<std::vector<bool>> occupied){
- for(auto line: occupied){
- std::string row;
- for(auto val: line){
- row += std::to_string(val) + " ";
- }
- std::cout << row << std::endl;
- }
- }
- void fits(int x, int y, Size size, std::vector<std::vector<bool>> occupied){
- for(int i = x; i < x + size.x; i++){
- for(int j = y; j < y + size.y; j++){
- if(occupied.at(j).at(i)) return false;
- }
- }
- return true;
- }
- int main()
- {
- std::vector<Size> sizes;
- for(int i = 2; i < 7; i += 4){
- for(int j = 1; j < 8; j += 4){
- sizes.push_back(Size(i, j));
- }
- }
- for(int i = 0; i < 15; i++){
- sizes.push_back(Size(1, 1));
- }
- sizes.insert(sizes.begin(), Size(20, 20));
- std::sort(sizes.begin(), sizes.end(),
- [](const Size &a, const Size &b){
- return a.x * a.y > b.x * b.y;
- }
- );
- std::vector<std::vector<bool>> occupied(sizes[0].y, std::vector<bool>(sizes[0].x));
- std::cout << occupied[0][0] << std::endl;
- for(auto size: sizes){
- for(int i = 0; i < size.y; i++){
- for(int j = 0; j < size.x; j++){
- }
- }
- }
- printOccupied(occupied);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement