高階 0816三部曲No 1 世界盃球迷

2021-08-24 20:14:26 字數 1214 閱讀 3006

試題描述

2023年,世界盃在家鄉開幕了!現在世界盃場館可容納m*n個球迷。官方想統計一共有多少球迷群體,最大的球迷群體有多少人。

球迷選座特性:同球迷群體會選擇相鄰座位,不同球迷群體選擇不相鄰的座位。(相鄰包括前後相鄰、左右相鄰、斜對角相鄰);

給定乙個m*n的二維球場,0代表該位置沒人,1代表該位置有人,希望輸出球隊群體個數p,最大的球隊群體人數q。

輸入第一行,2個數字,m、n,使用英文逗號隔開。

接下來m行,每行n個數字,使用英文逗號隔開。

輸出一行,2數字,p和q。

輸入示例

10,10

0,0,0,0,0,0,0,0,0,0

0,0,0,1,1,0,1,0,0,0

0,1,0,0,0,0,0,1,0,1

1,0,0,0,0,0,0,0,1,1

0,0,0,1,1,1,0,0,0,1

0,0,0,0,0,0,1,0,1,1

0,1,1,0,0,0,0,0,0,0

0,0,0,1,0,1,0,0,0,0

0,0,1,0,0,1,0,0,0,0

0,1,0,0,0,0,0,0,0,0

輸出示例

6,8其他說明

咳。從上面的資料範圍可以得知這題的主要錯誤,就是tle.查詢方陣類題目,我選擇dfs(seele為dfs帶鹽)

因為這題只需要尋找聯通的球迷群體,所以不用回溯啦~

#include#include#include#include#includeusing namespace std;

int a,b,sum=0,maxn=-1,emmm=1,pdd=0;//把maxn定義的很小,以便替換

char emm,matrix[3001][3001];//資料範圍很大,記得全域性變數

int dfs(int x,int y)

if(matrix[x][y-1]=='1'&&y-1>=0)

if(matrix[x+1][y-1]=='1'&&(x+1=0))

if(matrix[x-1][y+1]=='1'&&(x-1>=0&&y+1>=0))

if(matrix[x+1][y+1]=='1'&&x+1=0&&y-1>=0))

}int main() {

scanf("%d,%d\n",&a,&b);//scanf輸入比cin更快,技能get

for(int i=0; i另外,感謝@ljqmiao_的友情支援

人生三部曲

人生三部曲 童年沙丁魚罐頭似的公共汽車在曬的發燙的柏油路上緩慢地爬著。我 瘦瘦小小的個子在擁擠的人群中喘不過氣來。還要多久呀?人們煩躁而沉悶的氣氛充斥著整個車廂。忽然,我看見一位打扮入時的西裝人士,正悄悄地把手伸入一位老人的口袋。我第一反應就是有小偷!於是大聲脫口而出,一車人都回頭驚悸地看著我,西裝...

Jmock使用三部曲

import org.jmock.mockery import org.jmock.expectations class publishertest extends testcase execute publisher.publish message verify assert.assert.注意 ...

SoftwareRender三部曲 前言

這個系列主要是介紹如何簡單製作乙個softwarerender,後面會分三篇文章來完成這個系列。在看這個系列之前最好先閱讀之前 遊戲開發3d數學筆記 在這個工程中的所需要的一些數學庫 vector matrix mesh等 都 於之前3d數學系列。當然,這些數學庫使用上比較簡單,如果你對其數學原理不...