I.Hard Math Problem
题目链接-I.Hard Math Problem
题目大意
给出一个
n
∗
m
n*m
n∗m的网格,每个格子都可放
H
,
E
H,E
H,E和
G
G
G中的一个,要求
H
H
H的上下左右至少要有一个
E
E
E和一个
G
G
G,现问问
n
和
m
n和m
n和m都取无穷大时
H
H
H的个数占总格数的比值
解题思路
G
H
H
G
H
H
G
H
H
G
H
H
GHHGHHGHHGHH
GHHGHHGHHGHH
H
H
E
H
H
E
H
H
E
H
H
E
HHEHHEHHEHHE
HHEHHEHHEHHE
H
G
H
H
G
H
H
G
H
H
G
H
HGHHGHHGHHGH
HGHHGHHGHHGH
E
H
H
E
H
H
E
H
H
E
H
H
EHHEHHEHHEHH
EHHEHHEHHEHH
- 取一条斜线,在斜线上交错摆 E E E和 G G G,这样斜线的上下两条斜线都可以摆放 H H H,这样摆放占比最大为 2 / 3 2/3 2/3
附上代码
#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
#define int long long
#define lowbit(x) (x &(-x))
#define endl '\n'
using namespace std;
const int INF=0x3f3f3f3f;
const int dir[4][2]={-1,0,1,0,0,-1,0,1};
const double PI=acos(-1.0);
const double e=exp(1.0);
const double eps=1e-10;
const int M=1e9+7;
const int N=2e5+10;
typedef long long ll;
typedef pair<int,int> PII;
typedef unsigned long long ull;
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cout<<0.666667<<endl;
return 0;
}