Tuesday, 30 December 2014

UVA 10279 - Mine Sweeper(cpp file)

Problem Type : Game




#include<stdio.h>
#include<string.h>
#define max 100
int x1[] = {-1, -1, -1, 0, 1, 1,  1,  0};
int y[] = {-1,  0,  1, 1, 1, 0, -1, -1};
int main()
{

    int i,j,k,l,m,n,test,x,p,q,num,cou=0;
    char mat[max][max],mat1[max][max],des[max][max];
    scanf("%d",&test);
    while(test--)
    {

        if(cou!=0)
            printf("\n");
        cou++;
        scanf("%d",&n);
        getchar();
        for(i=0; i<n; i++)
        {
            for(j=0; j<n; j++)
            {
                scanf(" %c",&mat[i][j]);
            }
        }
        for(i=0; i<n; i++)
        {
            for(j=0; j<n; j++)
            {
                scanf(" %c",&des[i][j]);
            }
        }
        for(i=0; i<n; i++)
        {
            for(j=0; j<n; j++)
            {
                mat1[i][j]='.';
            }
        }

        for(i=0; i<n; i++)
        {
            for(j=0; j<n; j++)
            {
                num=0;
                if(mat[i][j]=='.' && des[i][j]=='x')
                {

                    for(k=0; k<8; k++)
                    {
                        p=i+x1[k];
                        q=j+y[k];
                        if ( p >= 0 && p < n && q >= 0 && q < n)
                        {
                            if (mat[p][q] == '*')
                            {
                               ++num;
                            }

                        }
                    }
                    mat1[i][j] = num+48;

                }
                if(mat[i][j]=='*' && des[i][j]=='x')
                {
                    for (int s = 0; s < n; s++)
                    {
                        for (int t = 0; t < n; t++)
                        {
                            if (mat[s][t] == '*')
                            {
                                mat1[s][t] = '*';
                            }
                        }
                    }
                }
            }

        }
        for(i=0; i<n; i++)
        {
            for(j=0; j<n; j++)
            {
                printf("%c",mat1[i][j]);
            }
            printf("\n");
        }
        memset(mat,'\0',sizeof(mat));
        memset(des,'\0',sizeof(des));


    }

}

No comments:

Post a Comment

ট্রিগার এর মাধ্যমে ডাটা ইনসার্ট - insert data using Database Trigger (Mysql)

সর্বপ্রথম আমরা প্রবলেমটা বুঝিঃ আমি একটা টেবিলের একটা কলামের ভ্যালুর উপর ডিপেন্ড করে আরেকটা কলামে ডাটা insert করব । এই কাজটা ট্রি...