日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CodeForces - 844B Rectangles

發(fā)布時間:2025/4/16 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CodeForces - 844B Rectangles 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
You are given n?×?m table. Each cell of the table is colored white or black. Find the number of non-empty sets of cells such that:
All cells in a set have the same color.
Every two cells in a set share row or column.
Input
The first line of input contains integers n and m (1?≤?n,?m?≤?50) — the number of rows and the number of columns correspondingly.
The next n lines of input contain descriptions of rows. There are m integers, separated by spaces, in each line. The number equals 0 if the corresponding cell is colored white and equals 1 if the corresponding cell is colored black.
Outpu
Output single integer ?— the number of non-empty sets from the problem description.
Example
Input
1 1
0
Output
1
Input
2 3
1 0 1
0 1 0
Output
8
Note

In the second example, there are six one-element sets. Additionally, there are two two-element sets, the first one consists of the first and the third cells of the first row, the second one consists of the first and the third cells of the second row. To sum up, there are 8 sets.

給你一個n×m的棋盤,上面有0、1兩種棋子。同種且同行(或同列)的棋子可以形成一個集合,一個棋子也可以看做一個集合。問你最多可以有多少種集合。

#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <queue>using namespace std;typedef long long LL;int main(){int m,n;cin>>n>>m;int a[51][51];for(int i=0;i<n;++i)for(int j=0;j<m;++j){scanf("%d",&a[i][j]);}int one,zero;long long sum=0;for(int i=0;i<n;++i){one=zero=0;for(int j=0;j<m;++j)if(a[i][j])one++;elsezero++;sum+=(1LL<<one)-1;sum+=(1LL<<zero)-1;}for(int i=0;i<m;++i){one=zero=0;for(int j=0;j<n;++j)if(a[j][i])one++;elsezero++;sum+=(1LL<<one)-1;sum+=(1LL<<zero)-1;}cout<<sum-n*m<<endl;return 0;}

考慮到n和m都比較小,分別枚舉每一行的0、1棋子,對于每個棋子有選和不選兩種可能。比如說某一行有k個1棋子,那么這一行可以形成的集合的數(shù)目就是2k?1,減一是因為要減去一個棋子都不選的這種不合法狀態(tài)。枚舉完行之后列同理。

??枚舉完行和列之后會發(fā)現(xiàn)每個集合只有一個一個棋子的情況都被枚舉了兩遍,所以最終答案再減去n×m即可。

總結(jié)

以上是生活随笔為你收集整理的CodeForces - 844B Rectangles的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。