HDU 4090 暴力剪紙題目,

2021-07-04 17:06:54 字數 1170 閱讀 1502

題目意思不說了,模擬都不怎麼會描述,

本題目,直接dfs暴力哪乙個點該修改然後搜尋即可,

剪枝兩個 : 一,對於聯通的點,只需嘗試其中乙個(避免重複搜尋)。 二,記錄當前各種顏色剩餘值,若當前所得值+最大期望可得<=當前最優值,剪枝(最優性剪枝)。

這份**神奇之處是 g++能過,c++不能過。

#include#include#include#include#include#include#include#include#include#include #include#define pb push_back

#define rep1(i,j,k) for(int i=(j);i<=(int)k;i++)

#define per1(i,j,k) for(int i=(j);i>=(int)k;i--)

#define rep(i,n) for(int i=0;i<(int)n;i++)

#define lowbit(x) ((x)&(-(x)))

#define fi first

#define se second

#define pii pair#define vi vector#define mem(v,c) memset(v,c,sizeof(v))

using namespace std;

typedef long long ll;

const int n = 9;

struct node};

int ma[n][n],n,m,k;

const int dx=;

const int dy=;

inline int judge(int i,int j)

void show(int ma[n][n])

if(!p) break;}}

int j=1,tj = 1;

for(;tj<=m;)

if(ok)

tj++;

}for(;j<=m;j++) rep1(i,1,n) ma[i][j]=0;

}int ans,cou[n];

inline int cal()

void dfs(int sum)

}ans=max(ans,sum);

}int main()

return 0;

}

牛客剪繩子(暴力列舉)

首先假設繩子為 2 那麼最大乘積為 1 2 繩子為 3 乘積最大 1 3 當繩子長為4開始發現規律 4 2 2 5 2 3 6 3 3 7 2 2 3 8 2 3 3 9 3 3 10 2 2 3 3 11 2 3 3 3 12 3 3 3 3 以此類推我們可以看出 最大值都是有2和3組成的,那怎麼...

hdu 2087 剪花布條

include include includeusing namespace std const int maxn 1004 char str maxn str1 maxn int main printf d n count return 0 此題主要是strstr 函式的應用!據說也可以用kmp來...

hdu 2087 剪花布條

題目鏈結 problem description 一塊花布條,裡面有些圖案,另有一塊直接可用的小飾條,裡面也有一些圖案。對於給定的花布條和小飾條,計算一下能從花布條中盡可能剪出幾塊小飾條來呢?input 輸入中含有一些資料,分別是成對出現的花布條和小飾條,其布條都是用可見ascii字元表示的,可見的...