TIL - 20.12.04

less than 1 minute read

[Code] 하나의 변수로 3중 반복문 탈출

is_paste 변수를 하나 두어서 값을 체크

while(k--){ //모눈종이 갯수만큼 반복. 모눈종이가 입력되면 바로바로 노트북에 붙임
    cin >> r >> c;
    for(int i = 0; i < r; i++)
      for(int j = 0; j < c; j++)
        cin >> paper[i][j];
    
    for(int rot = 0; rot < 4; rot++){ //스티커를 돌리지 않고 붙일 수 있는지확인 후 회전
      bool is_paste = false; // 해당 스티커를 붙였는가?
			//모눈종이의 (0, 0)이 노트북의 (x, y)에 붙을 수 있는지
      for(int x = 0; x <= n-r; x++){ //노트북세로(n)-모눈세로(r)만큼만 확인
        if(is_paste) break; //붙였다면 탈출 - 2중 for문 탈출
        for(int y = 0; y <= m-c; y++){ //노트북가로(m)-모눈가로(c)만큼만 확인
          if(pastable(x, y)){
            is_paste = true;
            break;
          }
        }
      }
      if(is_paste) break;
      rotate(); //못붙였다면 회전
    }
  }