250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(SWEA c++)1493. 수의 새로운 연산 본문
728x90
반응형
약간의 수학적 센스가 있으면 쉽게 풀 수 있는 문제.
배열의 크기를 [301][301]로 하여 세그먼트 폴트가 나지 않도록 적절히 조절하였다.
배열의 가로측으로는 i + j - 1씩 계속 증가한다.
배열의 세로측도 1, 2, 3, 4...씩 증가하기 때문에 num 계속해서 i를 더해주면 해당 값을 얻을 수 있다.
#include <iostream>
using namespace std;
int arr[301][301];
int main(void)
{
int num = 1;
for(int i = 1; i <= 300; i++)
{
arr[i][1] = num;
for(int j = 2; j <= 300; j++)
arr[i][j] = arr[i][j - 1] + i + j - 1;
num += i;
}
cin >> num;
for(int i = 1; i <= num; i++)
{
int p, q, x, y, a, b;
cin >> a >> b;
for(int j = 1; j <= 300; j++)
{
for(int k = 1; k <= 300; k++)
{
if(arr[j][k] == a)
{
p = j;
q = k;
}
if(arr[j][k] == b)
{
x = j;
y = k;
}
}
}
p += x;
q += y;
cout << "#" << i << " " << arr[p][q] << endl;
}
return 0;
}
728x90
반응형
'SW Expert Academy' 카테고리의 다른 글
(SWEA c++)1873. 상호의 배틀필드 (0) | 2020.10.20 |
---|---|
(SWEA c++)1860. 진기의 최고급 붕어빵 (0) | 2020.10.20 |
(SWEA c++)1491. 원재의 벽 꾸미기 (0) | 2020.10.16 |
(SWEA c++)1289. 원재의 메모리 복구하기 (0) | 2020.10.15 |
(SWEA c++)1244. [S/W 문제해결 응용] 2일차 - 최대 상금 (4) | 2020.10.14 |