当前位置:网站首页>Matrix elimination game
Matrix elimination game
2022-06-11 12:41:00 【whitewall_ nine】
// Problem: Matrix elimination game
// Contest: NowCoder
// URL: https://ac.nowcoder.com/acm/contest/20960/1045
// Memory Limit: 524288 MB
// Time Limit: 2000 ms
// 2022-03-01 19:19:12
//
// Powered by CP Editor (https://cpeditor.org)
#include<bits/stdc++.h>
using namespace std;
#define rep(i,l,r) for(int i=(l);i<=(r);i++)
#define per(i,l,r) for(int i=(l);i>=(r);i--)
#define ll long long
#define pii pair<int, int>
#define mset(s,t) memset(s,t,sizeof(t))
#define mcpy(s,t) memcpy(s,t,sizeof(t))
#define fi first
#define se second
#define pb push_back
#define all(x) (x).begin(),(x).end()
#define SZ(x) ((int)(x).size())
#define mp make_pair
const ll mod = 1e9 + 7;
inline ll qmi (ll a, ll b) {
ll ans = 1;
while (b) {
if (b & 1) ans = ans * a%mod;
a = a * a %mod;
b >>= 1;
}
return ans;
}
inline int read () {
int x = 0, f = 0;
char ch = getchar();
while (!isdigit(ch)) f |= (ch=='-'),ch= getchar();
while (isdigit(ch)) x = x * 10 + ch - '0', ch = getchar();
return f?-x:x;
}
template<typename T> void print(T x) {
if (x < 0) putchar('-'), x = -x;
if (x >= 10) print(x/10);
putchar(x % 10 + '0');
}
inline ll sub (ll a, ll b) {
return ((a - b ) %mod + mod) %mod;
}
inline ll add (ll a, ll b) {
return (a + b) %mod;
}
inline ll inv (ll a) {
return qmi(a, mod - 2);
}
#define int long long
int n, m, k;
int a[20][20], b[20][20];
int h[29], l[20];
void solve() {
cin >> n >> m >> k;
int sum = 0;
for (int i = 0;i < n; i ++) {
for (int j = 0; j < m; j ++)
{
cin >> a[i][j];
h[i] +=a[i][j];
sum += a[i][j];
}
}
if (k >= min(n, m)) {
cout << sum << endl;
return;
}
int ans = 0;
for (int i = 0; i < (1 << n); i ++) {
int mx = 0, cnt = 0;
memcpy(b, a, sizeof b);
for (int j = 0; j < n; j ++)
if (i >> j & 1) {
mx += h[j];
cnt ++;
for (int kk = 0; kk < m; kk ++)
b[j][kk] = 0;
}
if (cnt > k) continue;
memset(l, 0, sizeof l);
for (int j = 0; j < m; j ++) {
for (int k = 0; k < n; k ++)
l[j] += b[k][j];
}
sort(l, l + m, greater<int>());
for (int kk = 0; kk < k - cnt; kk ++)
mx += l[kk];
ans = max (ans, mx);
}
cout << ans << endl;
}
signed main () {
int t;
t =1;
//cin >> t;
while (t --) solve();
return 0;
}
Because in the end, we must have chosen one branch and one branch . Therefore, we can first determine the selection method of rows, and then select columns from large to small . because n<=15 So you can use binary enumeration
边栏推荐
- Workload management of Splunk best practices
- Flink time semantics, watermark, generated watermark, and transmission of watermark
- Format of Jerrys at protocol package [chapter]
- 11. Synchronized and lock escalation
- 秒杀多级缓存-----商品详情页
- Usage of instr function in Oracle Database
- Netstat command details
- How does Wireshark modify the display format of packet capturing time and date?
- Flink physical partition (random partition, polling partition, rescaling partition, broadcast, global partition, custom partition)
- 经营体育馆有哪些要素?
猜你喜欢

What are the ways for badminton halls to generate income

2022 vmvare download and installation tutorial on the latest official website (ultra detailed)

Yarn switch ResourceManager (failed to connect to server:8032 retries get failed due to exceeded maximum)

2、CompletableFuture

Flink multi stream conversion (side output stream shunting, union, connect) real-time reconciliation of APP payment operations and third-party payment operations

9. Talk about ThreadLocal

How can I use a domain name to access a website?

JMeter learning experience

9、聊聊ThreadLocal

JVM optimization
随机推荐
秒杀整体的技术难点
科海融生&正航,以信息化驱动管理升级,携手共迎数智未来
Oracle DatabaseLink cross database connection
Netstat command details
C event bus
(recommended) how many splunks are appropriate? Search head
How to optimize SEO on the mobile terminal? Do you need to optimize GoogleSEO on the mobile terminal for a separate m domain name?
Redis数据类型日常使用场景
Moist or not? This is a problem
mysql的主从复制
11. Synchronized and lock escalation
9、聊聊ThreadLocal
How Oracle exports data to CSV (Excel) files
node结合art-template 模板引擎 创建模板文件
经营体育馆有哪些要素?
Redis RDB and AOF
Redis data type Daily use Scenarios
Wireshark packet capturing and debugging RTSP
秒杀中的验证码安全机制
Ettercap sniffing of man in the middle attack