2 solutions

  • -3
    @ 2024-7-10 15:34:51
    #include <bits/stdc++.h>
    using namespace std;
    const int N=105;
    char a[N][N]; 
    int dx[]={0,0,-1,1};
    int dy[]={1,-1,0,0} ;
    int main()
    {
    	int n,m,d=0,z=0;
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		for(int j=1;j<=n;j++)
    		{
    			cin>>a[i][j];
    		}
    	}
    	cin>>m;
    	for(int i=1;i<m;i++)
    	{
    		for(int j=1;j<=n;j++)
    		{
    			for(int l=1;l<=n;l++)
    			{
    				if(a[j][l]=='@')
    				{
    					for(int b=1;b<=4;b++)
    					{
    						if(a[j+dy[d]][l+dx[d]]=='.')
    						{
    							a[j+dy[d]][l+dx[d]]=',';
    							d++;
    						}
    						else
    						{
    							d++;
    						}
    					}
    					d=0;
    				}
    				
    			}
    			
    		}
    		for(int c=1;c<=n;c++)
    		{
    			for(int v=1;v<=n;v++)
    			{
    				if(a[c][v]==',')a[c][v]='@';
    			}
    		}
    		
    		
    	}
    	for(int c=1;c<=n;c++)
    	{
    		for(int v=1;v<=n;v++)
    		{
    			if(a[c][v]=='@')z++;
    		}
    			
    	}
    			
    	cout<<z;
    	return 0;
    }
    

    Information

    ID
    929
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    (None)
    # Submissions
    69
    Accepted
    20
    Uploaded By