/**
#include<stdio.h>
int map[1001][1001] = {}, queue[2][1000001] = {}, dx[8] = {+1, +2, +2, +1, -1, -2, -2, -1}, dy[8] = {-2, -1, +1, +2, +2, +1, -1, -2}, v[1001][1001] = {};
int n, ay, ax, front = -1, rear = -1, pi, pj, cnt = 0;
void push(int i, int j)
{
if (i < 1 || i > n || j < 1 || j > n)
{
return ;
}
v[i][j] = 1;
if (i == ay && j == ax)
{
printf("%d", cnt);
exit(0);
}
rear ++;
queue[0][rear] = i;
queue[1][rear] = j;
}
void pop()
{
front ++;
pi = queue[0][front];
pj = queue[1][front];
}
void bfs(int i, int j)
{
for (int k = 0 ; k < 8 ; k ++)
{
if (v[i + dy[k]][j + dx[k]] != 1)
{
push(i + dy[k], j + dx[k]);
}
}
}
int main()
{
int i, j, k, m, mr = 0, x, y;
scanf("%d", &n);
scanf("%d %d", &y, &x);
scanf("%d %d", &ay, &ax);
push(y, x);
while (front != rear)
{
mr = rear;
cnt ++;
for (i = front + 1 ; i <= mr ; i ++)
{
pop();
bfs(pi, pj);
}
}
}
5 10
-1 1 1 1 1 1 -1 2 9 3
-1 1 -1 -1 -1 -1 2 2 9 3
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1
4 4 4 4 4 5 5 6 6 -1
-1 -1 -1 4 4 -1 5 5 6 -1
#include<stdio.h>
int main()
{
int i, j, k, n, m, t, x, money, price, sum = 0, cnt = 0;
char type;
scanf("%c", &type);
scanf("%d %d %d %d %d", &t, &x, &money, &price, &k);
// 평수 한 층의 무게 돈 가격 풍선이 들 수 있는 무게
// 327 234 12098 12 6
// 1 1 1000 1000 10
if (t == x)
{
printf("No");
return 0;
}
if (type == 'A')
{
sum += x * 10;
}
else if (type == 'S')
{
sum += x * 2;
}
else if (type == 'O')
{
sum += x;
}
int v = sum / k;
sum = v + t;
if (money >= price * sum)
{
printf("Yes");
return 0;
}
printf("No");
return 0;
}
#include<stdio.h>
int map[11][11] = {}, v[11][11] = {}, copy[11][11] = {}, dx[8] = {0, +1, +1, +1, 0, -1, -1, -1}, dy[8] = {-1, -1, 0, +1, +1, +1, 0, -1};
int n, m;
void dfs(int i, int j)
{
if (i < 1 || i > 9 || j < 1 || j > 9 || v[i][j] != 0)
{
return ;
}
v[i][j] = 1;
if (copy[i][j] != 0)
{
return ;
}
for (int k = 0 ; k < 8 ; k ++)
{
dfs(i + dy[k], j + dx[k]);
}
}
int main()
{
int i,j,k;
for (i = 1 ; i <= 9 ; i ++)
{
for (j = 1 ; j <= 9 ; j ++)
{
scanf("%d", &map[i][j]);
}
}
scanf("%d %d", &n, &m);
for (i = 1 ; i <= 9 ; i ++)
{
for (j = 1 ; j <= 9 ; j ++)
{
for (k = 0 ; k < 8 ; k ++)
{
copy[i][j] += map[i + dy[k]][j + dx[k]];
}
}
}
if (map[n][m] == 0)
{
dfs(n, m);
}
else
{
for (i = 1 ; i <= 9 ; i ++)
{
for (j = 1 ; j <= 9 ; j ++)
{
if (i == n && j == m)
{
printf("-1 ");
}
else if (v[i][j] == 1)
{
printf("%d ", copy[i][j]);
}
else
{
printf("_ ");
}
}
printf("\n");
}
return 0;
}
for (i = 1 ; i <= 9 ; i ++)
{
for (j = 1 ; j <= 9 ; j ++)
{
if (v[i][j] == 1)
{
printf("%d ", copy[i][j]);
}
else
{
printf("_ ");
}
}
printf("\n");
}
return 0;
}
**/