#include <cstdio>
#include <vector>
#include <algorithm>
int board[20][20];
void solve() {
int n;
scanf("%i", &n);
int gold_left = 0;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++) {
scanf("%i", &board[i][j]);
gold_left += board[i][j];
}
int r = 0, c = 0;
puts("R FARMER");
while(gold_left > 0) {
if(board[r][c] == 0) {
if(r % 2 == 0) {
if(c == n-1) {
printf("M %i %i %i %i\n", r, c, r+1, c);
r++;
}
else {
printf("M %i %i %i %i\n", r, c, r, c+1);
c++;
}
}
else {
if(c == 0) {
printf("M %i %i %i %i\n", r, c, r+1, c);
r++;
}
else {
printf("M %i %i %i %i\n", r, c, r, c-1);
c--;
}
}
}
int gain = std::min(10, board[r][c]);
board[r][c] -= gain;
gold_left -= gain;
puts("=");
}
for(; r > 0; r--)
printf("M %i %i %i %i\n=\n", r, c, r-1, c);
for(; c > 0; c--)
printf("M %i %i %i %i\n=\n", r, c, r, c-1);
puts("===");
}
int main() {
int t;
scanf("%i %*i", &t);
while(t--)
solve();
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | #include <cstdio> #include <vector> #include <algorithm> int board[20][20]; void solve() { int n; scanf("%i", &n); int gold_left = 0; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { scanf("%i", &board[i][j]); gold_left += board[i][j]; } int r = 0, c = 0; puts("R FARMER"); while(gold_left > 0) { if(board[r][c] == 0) { if(r % 2 == 0) { if(c == n-1) { printf("M %i %i %i %i\n", r, c, r+1, c); r++; } else { printf("M %i %i %i %i\n", r, c, r, c+1); c++; } } else { if(c == 0) { printf("M %i %i %i %i\n", r, c, r+1, c); r++; } else { printf("M %i %i %i %i\n", r, c, r, c-1); c--; } } } int gain = std::min(10, board[r][c]); board[r][c] -= gain; gold_left -= gain; puts("="); } for(; r > 0; r--) printf("M %i %i %i %i\n=\n", r, c, r-1, c); for(; c > 0; c--) printf("M %i %i %i %i\n=\n", r, c, r, c-1); puts("==="); } int main() { int t; scanf("%i %*i", &t); while(t--) solve(); } |
English