蓝桥杯练习系统习题-算法提高2
文章推荐
- 精选java等全套学习资源
- 精选java电子图书资源
- 精选大数据学习资源
- java项目练习精选
蓝桥杯练习系统习题-算法提高2
题目搜索方式:Ctrl+F—-> 输入题目名称—>定位到解答.
入门训练(详见 算法-蓝桥杯习题(1-1))
基础练习(详见 算法-蓝桥杯习题(2-1))
基础练习(详见 算法-蓝桥杯习题(2-2))
算法训练(详见 算法-蓝桥杯习题(3-1))
算法训练(详见 算法-蓝桥杯习题(3-2))
算法训练(详见 算法-蓝桥杯习题(3-3))
算法训练(详见 算法-蓝桥杯习题(3-4))
算法训练(详见 算法-蓝桥杯习题(3-5))
算法训练(详见 算法-蓝桥杯习题(3-6))
算法提高(详见 算法-蓝桥杯习题(4-1))
算法提高(详见 算法-蓝桥杯习题(4-2))
历届试题(详见 算法-蓝桥杯习题(5-1))
历届试题(详见 算法-蓝桥杯习题(5-2))
Torry的困惑(提高型)
#include<stdio.h>
#include<math.h>
int is_prime(int x) {
int i,s = sqrt(x);
for(i = 2; i <= s; i++) {
if(x % i == 0) {
return 0;
}
}
return 1;
}
int main()
{
//("%d",is_prime(2));
int n,count=0,i=1;
long long result=1;
scanf("%d",&n);
while(count<n)
{
i++;
if(is_prime(i))
{
result=(result%50000)*(i%50000)%50000;
count++;
}
}
printf("%I64d\n",result);
return 0;
}
计算时间
#include <stdio.h>
#include <stdlib.h>
int b[100000][3];
int main(int argc, char *argv[]) {
int i,n=0,a;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a);
b[i][0]=a%60;a/=60;
b[i][1]=a%60;
b[i][2]=a/=60;
}
for(i=0;i<n;i++)
{
printf("%02d:%02d:%02d\n",b[i][2],b[i][1],b[i][0]);
}
return 0;
}
最小乘积(提高型)
#include "stdio.h"
#define Size 1002
int part1(int a[],int left,int right)
{
int x;
int low;
int high;
x=a[left];
low=left;
high=right;
while(low<high)
{
while(a[high]>x&&low<high)
{
high--;
}
if(low<high)
{
a[low]=a[high];
low++;
}
while(a[low]<x&&low<high)
{
low++;
}
if(low<high)
{
a[high]=a[low];
high--;
}
}
a[low]=x;
return low;
}
int part2(int a[],int left,int right)
{
int x;
int low;
int high;
x=a[left];
low=left;
high=right;
while(low<high)
{
while(a[high]<x&&low<high)
{
high--;
}
if(low<high)
{
a[low]=a[high];
low++;
}
while(a[low]>x&&low<high)
{
low++;
}
if(low<high)
{
a[high]=a[low];
high--;
}
}
a[low]=x;
return low;
}
void sort2(int a[],int low,int high)
{
int mid;
if(low<high)
{
mid=part2(a,low,high);
sort2(a,low,mid-1);
sort2(a,mid+1,high);
}
}
void sort1(int a[],int low,int high)
{
int mid;
if(low<high)
{
mid=part1(a,low,high);
sort1(a,low,mid-1);
sort1(a,mid+1,high);
}
}
int main()
{
int T;
int n;
int i;
int a[Size];
int b[Size];
int l;
int sum;
scanf("%d",&T);
while(T)
{
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<=n;i++)
{
scanf("%d",&b[i]);
}
sort1(a,1,n);
sort2(b,1,n);
sum=0;
for(l=1;l<=n;l++)
{
sum=sum+(a[l]*b[l]);
}
printf("%d",sum);
printf("\n");
T--;
}
return 0;
}
卡勒沃夫之弱水路三千(提高型)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char mm[105][15];
char s1[15],s2[15];
int link[105][2];
int length[105]={0};
int in[105];
int N;
typedef struct{
char name[15];
int num;
}girl;
void fun(int x)
{
int i,y;
for(i=0;i<N;i++)
if(link[i][0]==x)
{
y=link[i][1];
length[ y ]=length[x]+1>=length[y]?length[x]+1:length[y];
fun(y);
}
}
int comp(const void *a, const void *b)
{
return (*(girl *)a).num>(*(girl *)b).num?1:-1;
}
int main()
{
int i,j,T,n,f,x,y,sum=0;
girl g[105];
scanf("%d",&T);
while(T--)
{
memset(mm,0,sizeof(mm));
memset(link,0,sizeof(mm));
memset(in,0,sizeof(in));
memset(length,0,sizeof(length));
scanf("%d",&N);
n=0;
for(i=0;i<N;i++)
{
scanf("%s%s",s1,s2);
f=0;
for(j=0;j<n;j++)
if(strcmp(s1,mm[j])==0)
{
f=1;
break;
}
if(f==1)
x=j;
else
{
strcpy(mm[n++],s1);
x=n-1;
}
f=0;
for(j=0;j<n;j++)
if(strcmp(s2,mm[j])==0)
{
f=1;
break;
}
if(f==1)
y=j;
else
{
strcpy(mm[n++],s2);
y=n-1;
}
link[i][0]=x;
link[i][1]=y;
}
for(i=0;i<N;i++)
in[link[i][1]]++;
for(i=0;i<n;i++)
if(in[i]==0)
break;
fun(i);
for(i=0;i<n;i++)
{
strcpy(g[i].name,mm[i]);
g[i].num=length[i];
}
qsort(g,n,sizeof(g[0]),comp);
for(i=0;i<n;i++)
{
printf("%s",g[i].name);
if(i==n-1)
printf("\n");
else
printf(" ");
}
}
return 0;
}
最大乘积
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int max;
void fun(int *val,int index,int size,int m,int cnt,int res);
int main()
{
int n,m,x,i;
int val[15];
scanf("%d",&x);
while(x--)
{
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
{
scanf("%d",&val[i]);
}
max = -10000000;
fun(val,0,n,m,0,1);
printf("%d\n",max);
}
return 0;
}
void fun(int *val,int index,int size,int m,int cnt,int res)
{
if(m==cnt)
{
if(res > max)
{
max = res;
}
return ;
}
if(index>=size)
{
return ;
}
fun(val,index+1,size,m,cnt+1,res*val[index]);
fun(val,index+1,size,m,cnt,res);
}
和最大子序列
#include<stdio.h>
int a[100001];
int main()
{
int n,i1;
scanf("%d",&n);
for(i1=0;i1<n;i1++)
scanf("%d",&a[i1]);
int sum=-100098087;
for(i1=1;i1<n;i1++)
{if(a[i1-1]>0)
a[i1]=a[i1-1]+a[i1];
}
for(i1=0;i1<n;i1++)
if(a[i1]>sum)
sum=a[i1];
printf("%d\n",sum);
return 0;
}
统计单词数
#include<stdio.h>
#include<string.h>
struct ha
{ int n;
char c[21];
}hasi[1000];
int main()
{ int i1,i2;
char a[1500],b[21];
gets(a);
int o=0,p=0;
for(i1=0;a[i1];i1++)
{ if(a[i1]<='z'&&a[i1]>='a')
a[i1]-='a'-'A';
}
for(i1=0;a[i1+1];i1++)
{
if(a[i1]<'A'||a[i1]>'z'||a[i1]<'a'&&a[i1]>'Z')
{ b[o]='\0';
if(o==0)
continue;
for(i2=0;i2<p;i2++)
{
if(!strcmp(hasi[i2].c,b))
{ hasi[i2].n++;
break;
}
}
if(i2==p)
{
strcpy(hasi[p].c,b);
hasi[p].n=1;
p++;
}
o=0;
continue;
}
b[o++]=a[i1];
}
b[o]='\0';
for(i2=0;i2<p;i2++)
{
if(!strcmp(hasi[i2].c,b))
{ hasi[i2].n++;
break;
}
}
if(i2==p)
{
strcpy(hasi[p].c,b);
hasi[p].n=1;
p++;
}
for(i1=0;i1<p;i1++)
{
for(i2=0;hasi[i1].c[i2];i2++)
if(hasi[i1].c[i2]<='Z'&&hasi[i1].c[i2]>='A')
printf("%c",hasi[i1].c[i2]);
else
printf("%c",hasi[i1].c[i2]-'a'+'A');
printf(":");
for(i2=0;i2<hasi[i1].n;i2++)
printf("*");
printf("%d",hasi[i1].n);
printf("\n");
}
return 0;
}
实数相加
#include<stdio.h>
int a[101],b[101],c[101],d[101],e[101],f[101];
int main()
{ char k[1000],l[1001];
int i1,i2,a1,b1,c1,d1,e1,f1;
gets(k);
gets(l);
int o=0;
for(i1=0;k[i1];i1++)
{
if(k[i1]=='.')
{i1++;
break;}
a[o++]=k[i1]-'0';
}
a1=o;
o=0;
for(;k[i1];i1++)
{
b[o++]=k[i1]-'0';
}
b1=o;
o=0;
for(i1=0;l[i1];i1++)
{
if(l[i1]=='.')
{i1++;
break;}
c[o++]=l[i1]-'0';
}
c1=o;
o=0;
for(;l[i1];i1++)
{
d[o++]=l[i1]-'0';
}
d1=o;
o=0;
int jiwei=0;
for(i1=b1-1,i2=d1-1;i1>=0||i2>=0;)
{
if(i1==i2)
{
f[o]=(b[i1]+d[i2]+jiwei)%10;
jiwei=(b[i1]+d[i2]+jiwei)/10;
o++;i1--;i2--;
}
else if(i1>i2)
{ f[o]=(b[i1]+jiwei)%10;
jiwei=(b[i1]+jiwei)/10;
o++;i1--;
}
else
{
f[o]=(d[i2]+jiwei)%10;
jiwei=(d[i2]+jiwei)/10;
o++;i2--;
}
}
f1=o;
o=0;
for(i1=a1-1,i2=c1-1;i1>=0||i2>=0;i1--,i2--)
{
if(i1<0)
{ e[o]=(c[i2]+jiwei)%10;
jiwei=(c[i2]+jiwei)/10;
o++;
}
else if(i2<0)
{e[o]=(a[i1]+jiwei)%10;
jiwei=(a[i1]+jiwei)/10;
o++;
}
else
{e[o]=(a[i1]+c[i2]+jiwei)%10;
jiwei=(a[i1]+c[i2]+jiwei)/10;
o++;
}
}
if(jiwei==1)
e[o++]=1;
for(i1=o-1;i1>=0;i1--)
printf("%d",e[i1]);
if(b1==0&&d1==0)
return 0;
printf(".");
for(i1=f1-1;i1>=0;i1--)
printf("%d",f[i1]);
return 0;
}
项链
#include<stdio.h>
#include<string.h>
int main()
{
char a[1000];
int i1,i2;
gets(a);
int max=0,n=strlen(a);
int total=0;
for(i1=0;a[i1];i1++)
{
char p='w';
total=0;
for(i2=i1;;i2++)
{ if(i2>=n)
i2-=n;
if(p=='w'||a[i2]==p||a[i2]=='w')
{
if(a[i2]!='w')
p=a[i2];
total++;
}
else
break;
if(total>=n)
break;
}
p='w';
for(i2=i1-1;;i2--)
{ if(total>=n)
break;
if(i2<0)
i2+=n;
if(p=='w'||a[i2]==p||a[i2]=='w')
{ if(a[i2]!='w')
p=a[i2];
total++;
}
else
break;
}
if(total>max)
max=total;
}
printf("%d\n",max);
return 0;
}
交换Easy
#include <stdio.h>
int main()
{
int n,m,ary[1000],temp,op1,op2;
scanf("%d %d",&n,&m);
int i;
for(i=0;i<n;i++)
{
scanf(" %d",&ary[i]);
}
for(i=0;i<m;i++)
{
scanf(" %d %d",&op1,&op2);
if(op1 != op2)
{
temp=ary[op1-1];
ary[op1-1]=ary[op2-1];
ary[op2-1]=temp;
}
}
for(i=0;i<n;i++)
{
printf("%d\n",ary[i]);
}
}
文章精选
java等电子图书分享
微信公众号
蓝桥杯练习系统习题-算法提高2相关推荐
- 蓝桥杯练习系统习题-算法提高1
文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 蓝桥杯练习系统习题-算法提高1 题目搜索方式:Ctrl+F--> 输入题目名称-> ...
- 蓝桥杯练习系统习题-算法训练6
文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 蓝桥杯练习系统习题-算法训练6 题目搜索方式:Ctrl+F--> 输入题目名称-> ...
- 蓝桥杯练习系统习题-算法训练5
文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 蓝桥杯练习系统习题-算法训练5 题目搜索方式:Ctrl+F--> 输入题目名称-> ...
- 蓝桥杯练习系统习题-算法训练3
文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 蓝桥杯练习系统习题-算法训练3 题目搜索方式:Ctrl+F--> 输入题目名称-> ...
- 蓝桥杯练习系统习题-算法训练2
文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 蓝桥杯练习系统习题-算法训练2 题目搜索方式:Ctrl+F--> 输入题目名称-> ...
- 蓝桥杯练习系统习题-算法训练1
蓝桥杯练习系统习题-算法训练1 题目搜索方式:Ctrl+F--> 输入题目名称->定位到解答. 入门训练(详见 算法-蓝桥杯习题(1-1)) 基础练习(详见 算法-蓝桥杯习题(2-1)) ...
- 蓝桥杯练习系统习题-历年真题解析2(完整版)
文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 蓝桥杯练习系统习题-历年真题解析2 题目搜索方式:Ctrl+F--> 输入题目名称-&g ...
- 蓝桥杯练习系统习题-历年真题解析1(完整版)
文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 蓝桥杯练习系统习题-历年真题解析1 题目搜索方式:Ctrl+F--> 输入题目名称-&g ...
- 蓝桥杯练习系统习题-基础训练2
文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 蓝桥杯练习系统习题-基础训练2 题目搜索方式:Ctrl+F--> 输入题目名称-> ...
最新文章
- 发测试邮件或垃圾邮件node脚本
- 开发日记-20190820 关键词 读书笔记《Unix环境高级编程(第二版)》DAY 1
- Qt实现拖动一个lineEdit同时拖动mainwindow
- MatLab 自编的 均值滤波、中值滤波、高斯滤波 图像处理函数
- 夫妻两人同一个银行各自存50万,银行破产了该赔多少?
- pip matplotlib 使用镜像源,pytorch 1.5 cpu
- anaconda如何装python_如何在已安装Python条件下,安装Anaconda,,并将原有Python添加到Anaconda中...
- Eclipse Debug调试详解
- Asp.net Web Api 路由 和 异常处理
- 高等代数第3版下 [丘维声 著] 2015年版_全国硕士研究生入学统一考试管理类联考综合能力考试大纲(2021年版)...
- 英特尔®以太网700系列的动态设备个性化
- 如何利用Social Listening从社会化媒体中“提炼”有价值的信息?
- lzr 登机牌扫描access_lzr1.top
- Conditional Generative Adversarial Nets(CGAN)
- Android添加手机黑名单,手机来电拦截实现详解与Demo,一个不错的练手项目,涵盖Android四大组件。
- 微信授权二维码样式修改
- Windows中Nginx下载、安装、配置
- MATLAB中图像的读取与显示及灰度
- logback彩色字符编码说明
- perl unicode
热门文章
- ERP系统模块完全解析──工作中心
- EOS账户系统(4)账户权限分级
- BUUCTF--[GWCTF 2019]re3学习记录
- [HOW TO]-github/gitee的仓库统一管理
- [De1CTF2019]Babylfsr
- /dev/tcp 的简单应用
- angr学习笔记(8)(文件内容符号化)
- 蜜罐中利用jsonp跨域漏洞和xss漏洞的分析
- Windows系统调用学习笔记(二)—— 3环进0环
- ==与equals,String的equals()方法