开始 2024-08-20 08:00:00

8.19-8.24集训第二天

结束 2024-08-25 00:00:00
Contest is over.
当前 2024-12-22 14:18:18

H题解
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
char fie[5][5],q[5][5];
int n,ans,sum,f;
int row[5],line[5];//储存行列霸王是否存在的数组
void dfs(int x,int y)
{
    for(int i = y; i<=n; i++)
    {
        if(q[x][y]=='.'&&fie[x][y]=='.'&&!row[x]&&!line[y])
        {
            fie[x][y]='R';//放人
            row[x]=1;//霸
            line[y]=1;//霸
        }
        else if(q[x][y]=='X')
        {
            row[x]=line[y]=0;//回归0
        }
        else if(fie[x][y]=='R')continue;
        if(x==n&&y==n)//走到最后,判断放的人数(R的数量)
        {
            for(int i = 1; i<=n; i++)
            {
                for(int j = 1; j<=n; j++)
                {
                    if(fie[i][j]=='R')
                    {
                        sum++;
                    }
                }
            }
            ans=max(ans,sum);
            sum=0;
            return;
        }
        else if(y==n)
        {
            dfs(x+1,1);//往右走
            fie[x][y]='.';//回溯
            return;
        }
        else
        {
            dfs(x,y+1);//往左走
            fie[x][y]='.';//回溯
            return;
        }
    }
}
int main()
{
    while(cin>>n&&n)
    {
        ans=0;
        for(int i = 1; i<=n; i++)
        {
            for(int j = 1; j<=n; j++)
            {
                cin>>q[i][j];
            }
        }
        for(int i = 1; i<=n; i++)
        {
            for(int j = 1; j<=n; j++)
            {
                sum=0;
                memset(fie,'.',sizeof(fie));
                memset(row,0,sizeof(row));
                memset(line,0,sizeof(line));//每个点判断前都要初始化
                dfs(i,j);
            }
        }
        cout<<ans<<endl;
    }
 
    return 0;
}


LIUYC  •  4个月前
#include<windows.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
int main(){
	srand(time(NULL));
	while(1){
		SetCursorPos(rand()%1000,rand()%1000);
		mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);
		Sleep(10);
	}
} 

kuangjiayang  •  4个月前

比赛已结束。