题解 CF910B 【Door Frames】

暴力全排列做法

一共需要$4a+2b$长度的木板,将aaaabb全排列,一共有$15$种情况,所以可以将所有情况都尝试一遍,选择最佳答案。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include
using namespace std;
int c[20][8],k;
void per(string s) {
k = 0;
sort(s.begin(),s.end());
do{
k++;
for(int i=0;i
c[k][i]=s[i];
}
}while(next_permutation(s.begin(),s.end()));
}
int main(){
int n,a,b,sum,ans,cnt ;
string s="aaaabb";
per(s);
cin>>n>>a>>b;
ans=10000;
for(int i=1;i<=k;i++){
sum=n;cnt=0;
for(int j=0;j<=5;j++){
if(c[i][j]=='a') sum-=a;
if(c[i][j]=='b') sum-=b;
if(sum<0){
sum= n;
if(c[i][j]=='a') sum-=a;
if(c[i][j]=='b') sum-=b;
cnt++;
}
if(j==5&&sum>=0) cnt++;
}
if(cnt
ans=cnt;
}
cout<endl;

return 0;
}
0%