You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

74 lines
1.6 KiB

// m x n == rows x columns
#include <stdio.h>
int checkForPathFrom(m, n, start, field) int m; int n; int start; int field[m][n];
{
int tmpField[m][n-1];
for (int i = 0; i < m; i++){
for (int j = 1; j < n; j++){
tmpField[i][j-1] = field[i][j];
}
}
}
int main()
{
int m,n,a,min,tmp;
while (scanf("%d %d\n",&m,&n) == 2){
int field[m][n];
//printf("m x n: %d %d\n", m, n);
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++){
scanf("%d", &field[i][j]);
//printf("%d = field[%d][%d]\n", field[i][j], i, j);
}
}
printf("\nm (row):%d, n (col):%d\n",m,n);
for (int i = 0; i < m; i++){
for (int j = 0; j < n; j++){
if (j % n != 0 || (i == 0 && i == 0)){
printf("%d ", field[i][j]);
} else {
printf("\n%d ", field[i][j]);
}
}
}
printf("\n\n");
int found = 0;
while (found != 1){
for (int i = m-1; i > -1; i--){
for (int j = 0; j < n; j++){
printf("i: %d, j: %d, field[j][i]: %d\n", i, j, field[j][i]);
if (field[j][i] < 1){
if (n == i+1){
found = 1;
printf("found last row");
break;
} else if(j > m){
} else {
field[j-1][i+1] = field[j-1][i+1] - 1;
field[j][i+1] = field[j][i+1] - 1;
field[j+1][i+1] = field[j+1][i+1] - 1;
}
}
}
if (found == 1){
break;
}
}
found = 1;
}
/*
for (int k = 0; k < m; k++){
printf("\n RES:%d\n", checkForPathFrom(m, n, k, field));
}
*/
//printf("%d\n",checkForPath(m, n, field));
}
return(0);
}