#include<stdio.h>
int main()
{
int i, j, k, n, b, c, x, y;
int map[100][100] = {};
int user[100][100]= {};
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
scanf("%d", &map[i][j]);
}
}
scanf("%d", &n);
for(i=0; i<n; i++)
{
for(j=0; j<2; j++)
{
scanf("%d", &user[i][j]);
user[i][j]--;
}
}
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
if(map[i][j] >0)
{
b = map[i][j];
for(c=1; c<=b; c++)
{
if((map[i+c][j] == 0 || map[i+c][j]==-2) && map[i][j] > 0)
{
map[i+c][j] = -2;
}
else
{
break;
}
}
for(c=1; c<=b; c++)
{
if((map[i][j+c] == 0 || map[i][j+c]==-2) && map[i][j] > 0)
{
map[i][j+c] = -2;
}
else
{
break;
}
}
for(c=1; c<=b; c++)
{
if(i-c>=0)
if((map[i-c][j] == 0 || map[i-c][j]==-2) && map[i][j] > 0)
{
map[i-c][j] = -2;
}
else
{
break;
}
}
for(c=1; c<=b; c++)
{
if(j-c>=0)
if((map[i][j-c] == 0 || map[i][j-c]==-2 ) && map[i][j] > 0)
{
map[i][j-c] = -2;
}
else
{
break;
}
}
map[i][j] = -2;
}
}
}
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if(map[user[i][0]][user[i][1]] == 0)
{
map[user[i][0]][user[i][1]] = i+1;
}
}
}
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
printf("%d ", map[i][j]);
}
printf("\n");
}
printf("Character Information\n");
for(i=0; i<n; i++)
{
x = user[i][0];
y = user[i][1];
printf("player %d ", i+1);
if(map[x][y] == -2)
{
printf("dead\n");
}
else
{
printf("survive\n");
}
}
return 0;
}
#include<stdio.h>
int main() {
int map[200][200] = {0};
int i, j, n, m, c=0, x, y, k;
int listX[1000] = {0};
int listY[1000] = {0};
int value[1000] = {0};
int userX[10] = {0};
int userY[10] = {0};
for(i=0; i<10; i++) {
for(j=0; j<10; j++) {
scanf("%d", &map[i][j]);
if(map[i][j] > 0) {
listX[c] = i;
listY[c] = j;
value[c] = map[i][j];
c++;
}
}
}
scanf("%d", &n);
for(i=0; i<n; i++) {
scanf("%d %d", &userX[i], &userY[i]);
userX[i]--;
userY[i]--;
}
for(--c; c>=0; c--) {
x = listX[c];
y = listY[c];
for(k=1; k<=value[c]; k++) {
if(map[x][y+k] != -1)
map[x][y+k] = -2;
else break;
}
for(k=1; k<=value[c]; k++) {
if(map[x][y-k] != -1)
map[x][y-k] = -2;
else break;
}
for(k=1; k<=value[c]; k++) {
if(map[x+k][y] != -1)
map[x+k][y] = -2;
else break;
}
for(k=1; k<=value[c]; k++) {
if(map[x-k][y] != -1)
map[x-k][y] = -2;
else break;
}
map[x][y] = -2;
}
for(i=0; i<n; i++) {
if(map[userX[i]][userY[i]] != -2) {
map[userX[i]][userY[i]] = i+1;
}
}
for(i=0; i<10; i++) {
for(j=0; j<10; j++) {
printf("%d ", map[i][j]);
}
printf("\n");
}
printf("Character Information\n");
for(i=0; i<n; i++) {
printf("player %d ", i+1);
if(map[userX[i]][userY[i]] != -2) {
printf("survive\n");
map[userX[i]][userY[i]] = i+1;
}
else {
printf("dead\n");
}
}
}