算法:dfs,连通块
难度:NOIP
题解:搜索出每个连通块,找到每个连通块里有几头牛。然后每个连通块内牛数量相乘,求和即为正解
不清楚luogu题解中的代码明明MLE了,却还能AC???
代码如下:
时间复杂度:
#include <cstdio>
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <string>
#include <cmath>
#include <algorithm>
#define ll long long
#define N 35005
using namespace std;
int viss[105][105];
int cow[105][105];
struct node
{
int x,y;
}cc[10005];
int n,k,r,col=1;
int usles;
bool edg[105][105][105][105];
void dfs(int x,int y)
{
if(x+1<=n)
{
if(!viss[x+1][y])
{
if(edg[x][y][x+1][y]||edg[x+1][y][x][y])
{
usles=4;
}else
{