বুধবার, ২৫ সেপ্টেম্বর, ২০১৯

UVA 10452 - Marcus

#include <stdio.h>
char g[10][10], s[10] = "@IEHOVA#";
int n, m, p[10];
void dfs(int x, int y, int l)
{
    if(x < 0 || y < 0 || x >= n || y >= m)
        return;
    if(g[x][y] != s[l])
        return;
    if(g[x][y] == '#')
    {
        for(int i = 0; i < l; i++)
        {
            if(i)
                putchar(' ');
            if(p[i] == 0)
                printf("forth");
            else if(p[i] == 2)
                printf("right");
            else
                printf("left");
        }
        puts("");
        return;
    }
    p[l] = 0;
    dfs(x-1, y, l+1);
    p[l] = 1;
    dfs(x, y-1, l+1);
    p[l] = 2;
    dfs(x, y+1, l+1);
}
int main()
{
    int ts, i, j;
    scanf("%d", &ts);
    while(ts--)
    {
        scanf("%d %d", &n, &m);
        for(i = 0; i < n; i++)
            scanf("%s", &g[i]);
        for(i = 0; i < n; i++)
            for(j = 0; j < m; j++)
                if(g[i][j] == '@')
                    dfs(i, j, 0);
    }
    return 0;
}

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন

Factorization with prime Sieve

vector <int> prime; char sieve[1000009]; int N=1000009; void primeSieve ( ) { sieve[0] = sieve[1] = 1; prime.push_back(2); ...