A. Brick Wall
读题不谨慎翻车半小时,警惕黑体加粗的单词,真的很重要。
给你n高,m宽的方框,往里面放 1*k 大小的砖头,k自己选,但是>=2,塞满方框的情况并且不超出边界,输出最大的平衡值(横砖数量减去竖砖数量)(同时方框里面 k 可以不全都是一样的)
就是 Note 后面的一段,没看到的话这道题就难做了(指样例一直过不了到处找bug,结果题目看漏了)。
思路很简单,横的要多那就全放1*2的横砖,有留空塞不满的就不用管(相当于最后的2拉长填满剩下的),此时就是最多的。
#include <bits/stdc++.h>
//#define int long long
#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))
#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))
#define fr first
#define se second
#define endl '\n'
using namespace std;
int n,m;
void solve(){
cin>>n>>m;