本文主要是介绍牛客多校第五场Hard Math Problem(计数),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题意:
n*m的棋盘,每个格子可以放G,H,E
但是每个H旁边必须有一个G或者E,f(n,m)为这个棋盘可以放置的最多H数
求n,m都无穷大时的 f ( n , m ) n ∗ m \frac{f(n,m)}{n*m} n∗mf(n,m)
思路:
一开始推了个假公式算出0.5,wa了后猜2/3才过的。
最优的放置方法类似下面,每两行H,再放一行E或者G,所以结果是2/3。
EEEEEEEE
HHHHHHHH
HHHHHHHH
GGGGGGGG
HHHHHHHH
HHHHHHHH
#include<iostream>
#include<vector>
#include<map>
#include <algorithm>
#include <cstdio>
#include <cstring>using namespace std;typedef long long ll;const int INF = 0x3f3f3f3f;
const int maxn = 2e5 + 7;int main() {printf("0.666667");
}
这篇关于牛客多校第五场Hard Math Problem(计数)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!