fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 19568 (C++) 직사각형
최초 업로드: 2025-11-05 04:32:24
최근 수정 시간: 2025-11-05 04:32:31
게시자: rlatjwls3333
카테고리: 백준
조회수: 10
# [Platinum II] 직사각형 [문제 링크](https://www.acmicpc.net/problem/19568) ## 문제 설명 <p>당신은 $30 \times 30$ 크기의 표에 0 이상 $10^6$ 이하의 정수를 채워야 한다.</p> <p>다음을 만족하는 정수 $i$를 찾을 수 있다고 하자. 표에 존재하는 $(\frac{30 \times 31}{2})^2$개의 직사각형 중, 그 안에 쓰인 수들의 합이 정확히 $i$인 것이 존재한다.</p> <p>당신의 목표는 1부터 50000까지의 수들을 찾을 수 있게 하는 것이다. 이 조건을 만족하는 표를 찾아 출력하자.</p> ## 입력 <p>이 문제는 입력이 없다.</p> ## 출력 <p>당신이 만든 표에 적힌 수를 한 줄에 30개씩, 30줄로 출력하여라. 정확한 형식은 예제 출력을 참고하자.</p> ## 풀이 [약 팔기](https://www.acmicpc.net/problem/15311) 문제를 2차원으로 확장시킨 문제입니다. 여기선 상하좌우 네 방향으로 늘려 $15^4-1$까지 나타낼 수 있습니다. ``` c++ #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); for(int i=1;i<=30;i++) { for(int j=1;j<=30;j++) { if(i<15 && j==15) cout << "1 "; else if(i==15 && j<15) cout << "15 "; else if(i==15 && j>15) cout << "225 "; else if(i>15 && j==15) cout << "3375 "; else cout << "0 "; } cout << '\n'; } } ```