2019年蓝桥杯省赛A组(不断更新)
平方和
http://oj.ecustacm.cn/problem.php?id=1452``
#include <iostream>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<queue>
#include<stack>
#include<cstring>
using namespace std;
char num[4]={'2','0','1','9'};
long long ans=0;
int main(){
int flag=0;
for(int i=1;i<=2019;i++){
flag=0;
string s=to_string(i);
for(int j=0;j<4;j++){
if(s.find(num[j])!=s.npos) flag=1;
}
if(flag) {
ans+=i*i;
//cout<<i<<endl;
}
}
printf("%lld",ans);
return 0;
}
// freopen("testdata.in", "r", stdin);
数列求值
http://oj.ecustacm.cn/problem.php?id=1453
#include <iostream>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<queue>
#include<stack>
#include<cstring>
using namespace std;
const int Maxn=20190399;
long long a[Maxn];
int main(){
a[1]=1;
a[2]=1;
a[3]=1;
for(int i=4;i<=20190324;i++){
a[i]=(a[i-1]+a[i-2]+a[i-3])%10000;
}
cout<<a[20190324]<<endl;
return 0;
}
// freopen("testdata.in", "r", stdin);
最大降雨量
http://oj.ecustacm.cn/problem.php?id=1454

迷宫
http://oj.ecustacm.cn/problem.php?id=1455
#include <iostream>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<queue>
#include<stack>
#include<cstring>
using namespace std;
vector<string>ans;
int dx[]={1,0,0,-1};
int dy[]={0,-1,1,0};
string dchar[]={"D","L","R","U"};
char a[100][100];
int vis[100][100];
int n=30,m=50;
typedef struct{
int x;
int y;
string s;
}QQ;
queue<QQ>q;
int main(){
/*
for(int i=1;i<=30;i++){
for(int j=1;j<=50;j++){
cin>>a[i][j];
}
}
QQ q1,q2;
q1.x=1;
q1.y=1;
q1.s="";
q.push(q1);
while(!q.empty()){
q2=q.front();
q.pop();
if(q2.x==30 && q2.y==50){
cout<<q2.s<<endl;
return 0;
}
for(int i=0;i<4;i++){
int nx=q2.x+dx[i];
int ny=q2.y+dy[i];
if(nx>=1 && nx<=30 && ny>=1 && ny<=50 && !vis[nx][ny] && a[nx][ny]!='1'){
q1.x=nx;
q1.y=ny;
q1.s=q2.s+dchar[i];
vis[nx][ny]=1;
q.push(q1);
}
}
}
*/
puts("DDDDRRURRRRRRDRRRRDDDLDDRDDDDDDDDDDDDRDDRRRURRUURRDDDDRDRRRRRRDRRURRDDDRRRRUURUUUUUUULULLUUUURRRRUULLLUUUULLUUULUURRURRURURRRDDRRRRRDDRRDDLLLDDRRDDRDDLDDDLLDDLLLDLDDDLDDRRRRRRRRRDDDDDDRR");
return 0;
}
// freopen("testdata.in", "r", stdin);
RSA解密
http://oj.ecustacm.cn/problem.php?id=1456
使用快速幂模求解
#include <iostream>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<queue>
#include<stack>
#include<cstring>
using namespace std;
/*
typedef long long ll;
const ll mod=1001733993063167147;
ll fun(ll a,ll b){
ll ans=1;
while(b){
if(b&1){
ans=ans*a%mod;
}
a=a*a%mod;
b>>=1;
}
return ans%mod;
}
*/
int main(){
puts("579706994112328949");
return 0;
}
// freopen("testdata.in", "r", stdin);
完全二叉树的权值
http://oj.ecustacm.cn/problem.php?id=1457
就是一题模拟。 和二叉树完全没啥关系。
#include <iostream>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<queue>
#include<stack>
#include<cstring>
using namespace std;
const int Maxn=1e6+10;
int n;
int a[Maxn];
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
int ans=0,Max=0,temp=0;
for(int i=1;;i++){
int k=temp;
temp+=1<<(i-1);
int num=0,j=0;
for(j=k;j<temp;j++){
num+=a[j];
}
//cout<<num<<endl;
if(num>Max){
ans=i;
Max=num;
}
if(j>=n){
cout<<ans<<endl;
return 0;
}
}
return 0;
}
// freopen("testdata.in", "r", stdin);

浙公网安备 33010602011771号