2017計蒜之道初賽第四場 商湯科技的安全令牌

2021-08-01 18:51:05 字數 1449 閱讀 2248

商湯科技致力於引領人工智慧核心「深度學習」技術突破,構建人工智慧、大資料分析行業解決方案。作為一家人工智慧公司,用機器自動地解決各類實際問題自然不在話下。近日,商湯科技推出了一套安全令牌,令牌如下圖所示:

安全令牌上的小孔有 nn 行 mm 列,不過有些行和有些列已經用導線整體焊接了,共有 kk 根導線。

我們可以在安全令牌上 不重疊 地焊接若干個小晶元,每個晶元需要在相鄰(不能斜著相鄰,必須平行於行或列)的兩個沒有被焊接的小孔上固定。不能固定在已經被整體焊接的行或列上。

安全令牌上最多可以放置多少個晶元,就代表了這個安全令牌對應的校驗碼。當然,由於安全令牌上小孔的密度會很大,是很難目測出對應的校驗碼的。你作為商湯科技的實習生,需要寫出乙個程式,能夠自動地算出乙個給定的安全令牌的校驗碼。

輸入格式

輸入第一行三個整數 n,m(1 \le n,m \le 100)n,m(1≤n,m≤100),k(0 \le k \le n + m)k(0≤k≤n+m)。

接下來輸入 kk 行,每行輸入兩個整數 d(0 \le d \le 1)d(0≤d≤1),cc。如果 d = 0d=0,表示第 c(1 \le c \le n)c(1≤c≤n) 行被整體焊接了,如果 d = 1d=1,表示第 c(1 \le c \le m)c(1≤c≤m) 列被整體焊接了。

輸出格式

輸出安全令牌對應的校驗碼。

樣例輸入

4 5 2

0 3

1 4

樣例輸出

題目大意:給出乙個圖,一些點不能訪問,在每個連通塊中,兩相鄰的點可以配對,問最多有幾對?

解題思路:dfs

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn=1e6+10;

const

int inf=0x3f3f3f3f;

int g[105][105];

bool vis[105][105];

int dx[4]=;

int dy[4]=;

int n,m,kk;

bool ok(int i,int j)

int dfs(int i,int j)

}return res;

}int main()

}for(int i=1;i<=kk;i++)

else

}int cc=0;

int ans=0;

for(int i=1;i<=n;i++)}}

cout

0;}

2017 計蒜之道 初賽 第五場

ucloud 機房的網路搭建 ucloud 剛剛建立乙個新機房,近日正在進行網路搭建。機房內有 n n 臺伺服器和 m m 個分線器,整個機房只有乙個網線出口。分線器的作用是將一根網線轉換成多根網線。蒜頭君也知道每個分線器輸出的最大網線根數 不一定要將分線器輸出的每根線都用上 問你至少需要使用多少個...

2017 計蒜之道 初賽 第五場

a.ucloud 機房的網路搭建 ucloud 剛剛建立乙個新機房,近日正在進行網路搭建。機房內有 nn 臺伺服器和 mm 個分線器,整個機房只有乙個網線出口。分線器的作用是將一根網線轉換成多根網線。蒜頭君也知道每個分線器輸出的最大網線根數 不一定要將分線器輸出的每根線都用上 問你至少需要使用多少個...

2017 計蒜之道 初賽 第三場

在乙個長度為 ll 公尺的光滑軌道上,小車 a 在 00 時刻以 1 mathrm1m s 的速度從左端出發向右運動,小車 b 在 tt 時刻以 1 mathrm1m s 的速度從右端出發向左運動,兩個小車的質量相等。假設所有碰撞都是彈性碰撞,也就是當兩個小車相向碰撞時,他們各自會以原來的速度向相反...