矩陣消除遊戲
矩陣消除遊戲
連結:https://ac.nowcoder.com/acm/problem/200190
來源:牛客網
題目描述:
牛妹在玩一個名為矩陣消除的遊戲,矩陣的大小是n行m列,第i行第j列的單元格的權值為ai,j,牛妹可以進行k個回合的遊戲,在每個回合,牛妹可以選擇一行或者選擇一列,然後將這一行或者這一列的所有單元格中的權值變為0,同時牛妹的分數會加上這一行或者這一列中的所有單元格的權值的和。
牛妹想最大化她的得分,球球你幫幫她吧!
示例1:
輸入
3 3 2
101 1 102
1 202 1
100 8 100
輸出
414
解題思路:
二進位制暴力列舉消除sl行,然後選擇最大的k-sl列
AC程式碼
#include <iostream>
#include <algorithm>
#include <string.h>
#include<math.h>
#include <queue>
#include<map>
using namespace std;
typedef long long ll;
#define M 20
int n,m,k;
int a[M][M];
int l[M];
int h[M];
int b[M];
bool cmp(int q,int w)
{
return q>w;
}
int ope(int x)
{
memset(b,0,sizeof(b));
int i=1,ans=0;
while(x)
{
if(x&1)
{
b[i]=1;
ans++;
}
i++;
x>>=1;
}
//cout <<"ans="<<ans<<endl;
return ans;
}
int main()
{
ll maxx=0;
cin >> n >>m>>k;
memset(l,0,sizeof(l));
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
cin >>a[i][j];
l[i]+=a[i][j];
}
}
for(int i=0;i<=((1<<n)-1);i++)//列舉行
{
memset(h,0,sizeof(h));
int sl=ope(i),sh=k-sl;
if(sh<0||sh>m)
continue;
ll sum=0;
for(int j=1;j<=n;j++)
{
if(b[j])
sum+=l[j];
}
for(int k=1;k<=n;k++)
{
for(int j=1;j<=m;j++)
{
if(!b[k])
h[j]+=a[k][j];
}
}
sort(h+1,h+m+1,cmp);
for(int j=1;j<=sh;j++)//選擇最大的sh列
{
sum+=h[j];
}
//cout <<sum<<endl;
maxx=max(maxx,sum);
}
cout <<maxx;
return 0;
}
相關文章
- 高斯消除矩陣矩陣
- [ZJOI2007] 矩陣遊戲矩陣遊戲
- BZOJ 3240: [Noi2013]矩陣遊戲矩陣遊戲
- 列舉(矩陣消除、七段數碼管)矩陣
- LeetCode 消除遊戲LeetCode遊戲
- 趣頭條和快手的「網賺遊戲」矩陣遊戲矩陣
- 巨大的矩陣(矩陣加速)矩陣
- 鄰接矩陣、度矩陣矩陣
- 奇異矩陣,非奇異矩陣,偽逆矩陣矩陣
- P1005 [NOIP2007 提高組] 矩陣取數遊戲矩陣遊戲
- 如何設計好玩的消除遊戲遊戲
- 資料結構:陣列,稀疏矩陣,矩陣的壓縮。應用:矩陣的轉置,矩陣相乘資料結構陣列矩陣
- 矩陣矩陣
- P7515 [省選聯考 2021 A 卷] 矩陣遊戲 題解矩陣遊戲
- 求任意矩陣的伴隨矩陣矩陣
- 矩陣和陣列矩陣陣列
- 理解矩陣矩陣
- 海浪矩陣矩陣
- 矩陣相乘矩陣
- 稀疏矩陣矩陣
- 螺旋矩陣矩陣
- 矩陣乘法矩陣
- 8.6 矩陣?矩陣
- 找矩陣矩陣
- 矩陣分解矩陣
- 天美遊戲人覆盤《天天愛消除》關卡設計:消除遊戲如何打造無壓力體驗?遊戲
- 快手矩陣管理平臺,矩陣管理有方法矩陣
- PDF迴圈互助矩陣遊戲dapp系統開發搭建(原始碼交付)矩陣遊戲APP原始碼
- Supercell的“消除+RPG”新遊戲有些意思,可是……遊戲
- 消除遊戲還能再戰十年!遊戲
- 機器學習中的矩陣向量求導(五) 矩陣對矩陣的求導機器學習矩陣求導
- 矩陣:如何使用矩陣操作進行 PageRank 計算?矩陣
- 演算法學習:矩陣快速冪/矩陣加速演算法矩陣
- 《龍之影》重磅鉅作正式公測,四九遊戲佈局Q萌魔幻矩陣遊戲矩陣
- 矩陣求導矩陣求導
- 置換矩陣矩陣
- 視訊矩陣矩陣
- 矩陣樹定理矩陣