Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int memo[100000];
- int c = 0;
- void loop(char **matriz, int n, char **saida) {
- int i, j, k, m;
- int output;
- for (i = 0; i < n; i++) {
- for (j = 0; j < n; j++) {
- k = i; m = j;
- c = 0;
- output = 0;
- while(matriz[k][m] != 'O') {
- if(k == i && m == j && c != 0) {
- saida[i][j] = 'L';
- break;
- }
- if(matriz[k][m] == 'V') {
- k++;
- }
- else if(matriz[k][m] == 'A') {
- k--;
- }
- else if(matriz[k][m] == '>') {
- m++;
- }
- else if(matriz[k][m] == '<') {
- m--;
- }
- if (matriz[k][m] == 'O') {
- matriz[i][j] = 'O';
- saida[i][j] = 'O';
- break;
- }
- c++;
- if (c == (n*n)+1) {
- saida[i][j] = 'I';
- break;
- }
- }
- }
- }
- }
- int main () {
- int n;
- scanf("%d", &n);
- int i, j;
- char **matriz;
- char **saida;
- matriz = (char**) malloc(n * sizeof(char *));
- saida = (char**) malloc(n * sizeof(char*));
- for (i = 0; i < n; ++i) {
- matriz[i] = (char*) malloc (n * sizeof(char));
- saida[i] = (char*) malloc (n*sizeof (char));
- }
- for (i = 0; i < n; i++) {
- scanf(" ");
- for (j = 0; j < n; j++) {
- scanf("%c", &matriz[i][j]);
- }
- }
- for (i = 0; i < n; ++i) {
- for (j = 0; j < n; ++j) {
- if(matriz[i][j] == '>' && j + 1 >= n) {
- matriz[i][j] = 'O';
- saida[i][j] = 'O';
- }
- else if(matriz[i][j] == '<' && j - 1 < 0) {
- matriz[i][j] = 'O';
- saida[i][j] = 'O';
- }
- else if(matriz[i][j] == 'A' && i-1 < 0) {
- matriz[i][j] = 'O';
- saida[i][j] = 'O';
- }
- else if(matriz[i][j] == 'V' && i+1 >= n) {
- matriz[i][j] = 'O';
- saida[i][j] = 'O';
- }
- }
- }
- loop(matriz, n, saida);
- for (i = 0; i < n; i++) {
- for (j = 0; j < n; j++) {
- printf("%c", saida[i][j]);
- } printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement