222
作者:
著雨
,
2024-05-22 16:14:00
,
所有人可见
,
阅读 6
11.换零钞
枚举
#include<bits/stdc++.h>
using namespace std;
int main()
{
for(int i=1;i<=40;i++) //5
for(int j=10;j<=100;j+=10) //2
if(5*i+2*j+j/10==200) cout<<i+j+j/10<<endl;
return 0;
}
答案:74
12.激光样式
DFS
#include<bits/stdc++.h>
using namespace std;
int res;
const int N = 35;
bool st[N]; //表示灯亮灭
void dfs(int u)
{
if(u==30)
{
res++;
return;
}
if(u==0)
{
dfs(u+1);
st[u]=true;
dfs(u+1);
st[u]=false;
}
else
{
if(st[u-1]) dfs(u+1);
else
{
dfs(u+1);
st[u]=true;
dfs(u+1);
st[u]=false;
}
}
}
int main()
{
dfs(0);
cout<<res;
return 0;
}
答案:2178309
13.36进制
模拟/秦九韶
#include<bits/stdc++.h>
using namespace std;
int res;
int main()
{
string s="MANY";
for(int i=0;s[i];i++) res=res*36+s[i]-'A'+10;
cout<<('M'-'A'+10)*36*36*36+('A'-'A'+10)*36*36+('N'-'A'+10)*36+('Y'-'A'+10)<<endl;//1.直接输出
cout<<res; //2.秦九韶
return 0;
}
答案:1040254
14.瓷砖样式
15.一步之遥
枚举
#include<bits/stdc++.h>
using namespace std;
int main()
{
for(int i=0;i<1000;i++)
for(int j=0;j<1000;j++)
if(i*97-j*127==1) cout<<i+j<<endl;
return 0;
}
答案:97
16.凑平方数
预处理平方数+DFS
17.积分之谜
枚举
#include<bits/stdc++.h>
using namespace std;
int main()
{
for(int i=1;i<100;i++)
for(int j=1;j<100;j++)
for(int k=1;k<100;k++)
if((3*i+7*j+k==315)&&(4*i+10*j+k==420)) cout<<i+j+k<<endl;
return 0;
}
答案:105
18.完美正方形
19.日期统计
20.01串的熵