17276 - 배열 돌리기
2025. 3. 8. 15:09ㆍPS/백준
문제
https://www.acmicpc.net/problem/17276
느낀점
구현 기본 문제, 나름 재밌었다
코드
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int T;
cin >> T;
while (T > 0)
{
int n, d;
cin >> n >> d;
vector<vector<int>> board(n, vector<int>(n));
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cin >> board[i][j];
}
}
int mid = n / 2;
for (int i = 0; i < abs(d) / 45; i++)
{
vector<vector<int>> check = board;
for (int j = 0; j < n; j++)
{
for (int k = 0; k < n; k++)
{
int in = check[j][k];
if (d > 0)
{
if (j == k)
{
board[j][mid] = in;
}
else if (k == mid)
{
board[j][n - j - 1] = in;
}
else if (j + k == n - 1)
{
board[mid][k] = in;
}
else if (j == mid)
{
board[k][k] = in;
}
}
else
{
if (j == k)
{
board[mid][j] = in;
}
else if (k == mid)
{
board[j][j] = in;
}
else if (j + k == n - 1)
{
board[j][mid] = in;
}
else if (j == mid)
{
board[n - 1 - k][k] = in;
}
}
}
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << board[i][j] << " ";
}
cout << "\n";
}
T--;
}
return 0;
}
'PS > 백준' 카테고리의 다른 글
21314 - 민겸 수 0 | 2025.03.12 |
---|---|
19638 - 센티와 마법의 뿅망치 0 | 2025.03.10 |
16924 - 십자가 찾기 0 | 2025.03.07 |
16918 - 봄버맨 0 | 2025.03.06 |
9081 - 단어 맞추기 0 | 2025.03.05 |